#include 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; } }
注意函数构造的参数中单指针不能直接指向二维数组
由于代码段删掉了就直接上图了。