程序要实现功能,将输入的2*2矩阵输出到屏幕,可是调试出错#include"stdio.h"
#include"conio.h"
void Arrayprint(double *array,int m,int n)
{
int i,j;
for (i=0;i<m;i++)
{
   for(j=0;j<n;j++)
    printf("%10.4f",*(*(array+i)+j));
   printf("\n");
}void main()
{
 double A[2][2];
 int i,j;
 for(i=0;i<2;i++)
 {
 for(j=0;j<2;j++)
 {
 scanf("%lf",&A[i][j]);
 }
 }
 Arrayprint(&A[0][0],i,j);/屏幕输出/
 getch();
}
出错信息如下:
 warning C4047: 'function' : 'double ** ' differs in levels of indirection from 'double *'
 warning C4024: 'Arrayprint' : different types for formal and actual parameter 1请高手们教教小弟怎么改好它,感激不尽啊,VC++6.0

解决方案 »

  1.   

    下面的可以正常运行
    void Arrayprint(double *array,int m,int n)
    {
    int i,j;
    for (i=0;i <m;i++)
    {
    for(j=0;j <n;j++)
    printf("%lf",*(array+ i*n +j));
    printf("\n");
    }}int _tmain(int argc, _TCHAR* argv[])
    {
    double A[2][2];
    int i,j;
    for(i=0;i <2;i++)
    {
    for(j=0;j <2;j++)
    {
    scanf("%lf",&A[i][j]);
    }
    }
    Arrayprint(*A,2,2);//屏幕输出/
    scanf("%f",&A[1][1]);
    return 0;
    }
      

  2.   

    恩,懂了,非常感谢,还有点问题,本来的第三行样子是
    void Arrayprint(double **array,int m,int n) 
    提示错误,我觉得 一般 用 “**”定义一个类型应该很少吧,不过,有什么用吗?