c语言题阿(void)

来源:百度知道 编辑:UC知道 时间:2024/04/28 06:07:01
int m=20;
void f(int n)
{n=12/n;
m=m/2;
}
main()
{int n=3;
f(n);
printf("m=%d,n=%d\n",m,n);
}
谁知道答案到为什麽是 m=10和n=3 不是m=10和n=4?

n是个局部变量他的作用域只在main里,如果是全局的那就是4了

由函数f()可以得出局部变量m=10,n=4(他们的存储空间在f()里)
但是printf()所打印显示的是main()中的,所以显示m=10,n=3