void print1(int arr[3][5], int x, int y)//最初的方式打印二维数组,参数是数组的形式
{
int i = 0;
int j = 0;
for (i = 0; i < x; i++)
{
for (j = 0; j < y; j++)
{
printf("%d ",arr[i][j] );
}
printf("\n");
}
}
void print2(int(*p)[5], int x, int y)//指针数组,参数是指针的形式
{
int i = 0;
int j = 0;
for (i = 0; i < x; i++)
{
for (j = 0; j < y; j++)
{
printf("%d ", *(*(p+i)+j));//*(p+i)为第i行,j为i行的j个元素,
printf("%d ", (*(p+i))[j]);//第二种也行
}
printf("\n");
}
}
int main()
{
int arr[3][5] = { {1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7} };
print1(arr,3,5);
print2(arr, 3, 5);//数组名即首元素的地址,首元素即二维数组的第一行元素
return 0;
}