2维指针数组问题
程序代码:
double average(double (*p)[],double *q,int n,int m) { int i,j; double NU,AE;//每列总和与每行总和 for(i=0;i<n;i++) { for(NU=0,j=0;j<m;j++) { NU+=(*p+i)[j];//每列的和 } q[i]=NU/m;//每行的平均值 AE+=NU;//每行的和 } return AE/(n*m);//总平均值 }
函数需求是求x行的平均值和总平均值
出错原因第1行平均值没错,第2行开始的都错!
初步认为错误原因在NU+=(*p+i)[j];这运算表达式!
开始是NU+=p[i][j];这样写的,但无法编译!只好改了
有人说NU+=(*P+i)[j]这实质是个1维数组,所以求不了第2行后的值!
怎么改才能求到值?