新手题 指针倒置3*3矩阵 有大佬看看么?
输入1 2 3 4 5 6 7 8 9 输出:1 4 7 但我输出了 1 4 7
2 5 8 4 5 8
3 6 9 7 8 9
太奇怪了吧,有没有大佬能告诉我那一步做错了和原因呢?
#include <stdio.h>
#include <stdlib.h>
void Fun(int *p);
int main()
{
int x[3][3];
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
scanf("%d",&x[i][j]);
}
}
int *p;
p=(int *)x;
Fun(p);
for(int n=0;n<3;n++)
{
for(int m=0;m<3;m++)
{
printf("%d ",x[n][m]);
}
printf("\n");
}
return 0;
}
void Fun(int *p)
{
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
*(p+3*i+j)=*(p+3*j+i);
}
}
}