打印二维数组的方法有很多,我们知道,二维数组传参时会发生降维问题,降维成指向其内部元素类型的指针,在这里打印二维数组,形参可以是二维数组,也可以是数组指针,还可以是二级指针,代码如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdlib.h>
#include<stdlib.h>
//void print(int arr[3][3],int row,int col)
//{}
//void print(int (*arr)[3],int row,int col)
//{}
void print(int *arr, int row, int col)
{
int i = 0;
int j = 0;
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
//printf("%d", arr[i][j]);error
printf("%d ", arr[i*col + j]);
}
printf("\n");
}
}
int main()
{
int arr[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
print((int *)arr, 3, 3);
system("pause");
return 0;
}