// 此贴本来问什么是倒置,当时我没看代码 ////////////////////////////////////////
//////////////////////////////////////////
/* 修改了2个错误,多次出现 */
/* 搂主的代码,修正后 */
#include<stdio.h>
#include<stdio.h>
void fun(int (*m)[3]); /* 函数原型方在外面看起来方便 */
int main(void)
{
int i,j;
static int m[3][3]; /* 搂主的程序没有 int */
printf("please input the ear:\n");
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");
}
return 0;
}
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];
}
/* 直接使用 m[3][3] ,但 m[3][3] 必须具有文件作用域,
把 int [3][3]; 放在所有函数原型的上面。
因为楼主使用了 static 我才提醒一下。(不过不建议使用)
void fun_b(void)
{
int i, j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
m[j][i]=p[i][j];
}
*/
/* 运行结果 */
此主题相关图片如下:
/*
int (* m)[3]; // 指向 3 个 int 类型的指针
int * m[3]; // 3 个 int 指针数组
static // 静态存储 //是数组m[3][3]具有函数作用域,空链接,静态存储时期
*/
-
- 楼主用 TC 的吧。
- 最好像我一样的代码风格,不要求4格缩进,但至少需要缩进一下,1格也行啊。
- 函数前请加上返回类型,如:void 、int 、flost。
-
[此贴子已经被作者于2007-11-19 2:17:28编辑过]