为什么得不到想要的结果
为什么输出结果是1 2 3
4 5 6
7 8 9
而不是
1 4 7
2 5 8
3 6 9
#include<stdio.h>
void main()
{
void zz(int p[3][3]);
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int m,n,t=0;
for(m=0;m<3;m++)
{
for(n=0;n<3;n++)
{
printf("%d ",a[m][n]);
t++;
if(t%3==0)
printf("\n");
}
}
zz(a);另外为什么此处不能用zz(int a[3][3])?
}
void zz(int p[3][3])
{
int i,j,s=0,temp;
for(i=0;i<3;i++)
{
for(j=i;j<3;j++)
{
temp=*((*p+i)+j);
*((*p+i)+j)=*((*p+j)+i);
*((*p+j)+i)=temp;
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d ",*(*(p+i)+j));
s++;
if(s%3==0)
printf("\n");
}
}
}