二维数组和指针
arr是个1010的二维数组,(num)[10]是一个指针数组,num相当于指向了一个一维数组,定义*p来指向num来表示一维数组里面的值,但是不知道为啥int *p=num会报错。循环里的想法是希望行列互换(例如:num[0][1]和num[1][0]),但不知道这样表达对不对,用int定义t是觉得**p表示的是一个int值。
void reverse_cube(int (*num)[10],int m,int n){
int t;
int *p;//这里出现了问题
*p=num;
if(m==n){
for(int i=0;i<m;i++){
t=**(p+i);//这里也有问题
**(p+i)=*(*p+i);
*(*p+i)=t;
}
}
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
printf("%d",arr[m][n]);
}
printf("\n");
}
}