#include <stdio.h>
int main()
{
void func(int (*ptr)[3]);
int a[3][3];
for(int i = 0;i <3;i ++)
for(int j = 0;j < 3;j++)
scanf("%d",&a[i][j]);
func(a);
for(int i = 0;i <3;i ++)
{
for(int j = 0;j < 3;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
void func(int (*ptr)[3])
{
for(int i = 0;i <3;i ++)
for(int j = i;j < 3;j++)
{
int temp;
temp = *(*(ptr + i) + j);
*(*(ptr + i) + j) = *(*(ptr + j) + i);
*(*(ptr + j) + i) = temp;
}
}
注意函数构造的参数中单指针不能直接指向二维数组
由于代码段删掉了就直接上图了。