main(){int a[2][3][4]={24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1}; int i,j,m; int *p,t,k; int *p1; p=a; p1=*p; for(i=0;i<23;i++) { k=*(p+i); p=p+i; for(p1=p+1;p1

热心网友

程序中错误很多,象语法错误什么的就不多说了,要命的是对指针的概念简直是一窍不通。下面是我重写的代码,注意一下指针的声明、地址的计算与引用。void main(){int a[2][3][4]={24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};int i,j,m;int *p,*p1,t;p=a[0][0]; //指向一个一维数组for (i = 0; i *p1) {t = *p1; *p1 = *(p + i); *(p + i) = t;}}}printf("\n");for(i=0;i<2;i++){ for(j=0;j<3;j++){for(m=0;m<4;m++)printf("%d\t",a[i][j][m]);printf("\n");}printf("\n");}}。

热心网友

p1 要定义成 **p1 第8行改成*p1=p;**p1是指向指针*p的指针,要用2维指针