运行结果和原矩阵相同,并没有实现转换,求高人更改
#include
#define N 3
void f(int (*p)[N]);
int main()
{
int i,j;
int a[N][N];
int (*p)[N];
p=a;
for(i=0; ifor(j=0; j"%d",&a[i][j]);
}
f(p);
for(i=0; ifor(j=0; j" %d ",a[i][j]);
}
printf("\n");
}
}
void f(int (*p)[N])
{
int t,i=0,j=0;
int (*q)[N];
q=p;
for(i=0; ifor(j=0; jt=*(*(p+i)+j);
*(*(p+i)+j)=*(*(q+j)+i);
*(*(q+j)+i)=t;
}
问题不在函数里哦,你的f()函数没有返回值,调用是没有用的,建议把打印矩阵部分语句搬到函数里,然后把printf语句里面的数组名改一下就行了