这个代码是正确的,我只想问,明明main函数里面arr二维数组的行数是3;
为什么到了第二个函数,他的全局变量的二维数组行数却是4,并且还可以运行呢?
#include
void findmax(int (*pArr)[4], int *pmax, int m, int n);
int main(void)
{
int arr[3][4], *pa, max[3], i;
pa = arr[0];
for (i=0; i<12; i++)
{
scanf("%d", pa++);
}
findmax(arr,max,3,4)
for (i=0; i<3; i++)
{
printf("line %d's max = %d\n", i, max[i]);
}
return 0;
}
void findmax(int (*pArr)[4], int *pmax, int m, int n)
{
int i, j;
for (i=0; ifor (j=1; jif
( *(pArr[i]+j)>*pmax)
{
*pmax=*(pArr[i]+j);
}
}
}
}
void findmax(int (*pArr)[4], int *pmax, int m, int n)
这里的4是列数4,不是行数4啊,兄弟