C语言全局变量可以用main函数改变么

int n=1;
main()
{
static int x=5;
int y;
y=n;
printf(“MAIN:x=%2d y=%d n=%2d\n”,x,y,n);
func();
printf(“MAIN:x=%2d y=%d n=%2d\n”,x,y,n);
func();
}
func()
{
static int x=4;
int y=10;
x=x+2;
n=n+10;
y=y+n;
printf(“FUNC:x=%2d y=%d n=%2d\n”,x,y,n);
}

这个函数 最后一次输出 为什么是y=31 n=21 怎么不是y=21 n=11呢

可以在任何地方被修改,只要它不是在一个有同名局部变量的函数里.
最后一次n变成21,不是很明显说明了这一点么
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-21
全局变量可以在其它的函数内部被修改。
相似回答