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 程序中錯(cuò)誤很多,象語(yǔ)法錯(cuò)誤什么的就不多說(shuō)了,要命的是對(duì)指針的概念簡(jiǎn)直是一竅不通。下面是我重寫(xiě)的代碼,注意一下指針的聲明、地址的計(jì)算與引用。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]; //指向一個(gè)一維數(shù)組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維指針熱心網(wǎng)友
熱心網(wǎng)友