老大,教我一下,这里哪里错了啊,谢谢,帮助菜鸟啊????

来源:百度知道 编辑:UC知道 时间:2024/05/03 09:26:42
main()
{int a[3][3],*p,i;
printf("please input the arrary:\n");
for(p=a;p<a+3;p++)
for(i=0;i<3;i++)
scanf("%d",*p+i);
move(a);
printf("Now,matrix:\n");
for(i=0;i<3;i++)
printf("%3d%3d%3d\n",a[i][0],a[i][1],a[i][2]);
getch();}
move(int *p)
{int i,j,t;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{t=*(*(p+i)+j);*(*(p+i)+j)=*(*(p+j)+i); *(*(p+j)+i)=t;}}
错误好多啊,教我一下,谢谢,我才负分.
问题补充:大哥,我就是即使知道错误,也不会弄啊,所以才求助

错误 noname.c 16: 无效间接运算在 move 函数中

警告 noname.c 16: 参数'p'从未使用在 move 函数中

move(int **p);//声明函数,用双指针或 (int p[][])
main()
{int a[3][3],*p,i;
printf("please input the arrary:\n");
for(p=a;p<a+3;p++)
for(i=0;i<3;i++)
scanf("%d",*p+i);
move(a);
printf("Now,matrix:\n");
for(i=0;i<3;i++)
printf("%3d%3d%3d\n",a[i][0],a[i][1],a[i][2]);
getch();}
move(int **p)
{int i,j,t;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{t=*(*(p+i)+j);*(*(p+i)+j)=*(*(p+j)+i); *(*(p+j)+i)=t;}}

声明成move(int (*p)[3])

负分呀.