#include <stdio.h> #define N 3 void main() { void convert(int array[][N]); int i,j,array[N][N]; printf("请为数组赋值:"); for(i=0;i<N;i++) for(j=0;j<N;j++) scanf("%d",&array[i][j]); printf("初始数组如下:/n"); for(i=0;i<N*N;i++) { printf("%d ",*(array[0]+i));//*(*array+i) if((i+1)%3==0) printf("/n"); } convert(array);//convert(*(array+0)+0)、convert(*array)、convert(*array+0) printf("/n新数组如下:/n"); for(i=j=0;i<N*N;i++) { printf("%d ",*(*array+i));//*(array[0]+i) j++; if(j%3==0) puts(""); } } void convert(int array[][N])//convert(int array[N][N]) { int i,j,temp; for(i=0;i<N;i++) for(j=i+1;j<N;j++) { temp=array[i][j]; array[i][j]=array[j][i]; array[j][i]=temp; } printf("函数中转置后的数组为:/n"); for(i=0;i<N;i++) { for(j=0;j<N;j++) printf("%d ",array[i][j]); putchar('/n'); } }