二维数组3*3置换,始终想不明白有什么问题
程序代码:
#include<stdio.h> void main() { void s(int (*p)[3]); int a[3][3],i,j; int (*p)[3]; for(i=0;i<3;i++) { for(j=0;j<3;j++) scanf("%d",&a[i][j]); } s(a); for(p=a,i=0;i<3;i++,p++) { for(j=0;j<3;j++) printf("%d",*(*(p+i)+j)); printf("\n"); } } void s(int (*p)[3]) { int a[3][3]; int i,j,t; for(p=a,i=0;i<3;p++,i++) { for(j=i+1;j<3;j++) {t=*(*(p+i)+j);*(*(p+i)+j)=*(*(p+j)+i);*(*(p+j)+i);} } }