各位帮我看看我的语法有什么错误?

来源:百度知道 编辑:UC知道 时间:2024/05/22 03:17:02
#include<stdio.h>
fun(int *m);
main()
{int i,j;
static m[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&m[i][j]);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%d ",m[i][j]);
printf("\n");
}
printf("\b");
fun(m);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%d ",m[i][j]);
printf("\n");
}}
fun(int *m[3])
{int i,j,*p[3];
p=m;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
m[j][i]=*p[i][j];
}我自己弄了半天都不明白错在哪,我用的是数组指针~谢了~回答好会追加分的~用的是turboC环境~

#include<stdio.h>
void fun(int (*m)[3]);
void main()
{int i,j;
static int m[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&m[i][j]);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%d ",m[i][j]);
printf("\n");
}
printf("\b");
fun(m);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%d ",m[i][j]);
printf("\n");
}

}
void fun(int (*m)[3])
{int i,j,(*p)[3];
p=m ;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
m[j][i]=p[i][j];
}

1、函数fun没有写返回值。如果的确没有,就写void fun
2、static m[3][3]没有写类型,应该是static int m[3][3]。
3、main函数最好写成 void main,或者int main,而且main函数退出前return 0;
4、fun的声明是*m,实现是*m[3],需要改统一。

#include<stdio.h>
fun(int m[][3]); //这样写容易理解点吧
main()
{int i,j;
static int m[3][3];
for(i=0;i<3;i++)
for(j=0;j&l