C语言提问(读程序)

来源:百度知道 编辑:UC知道 时间:2024/06/14 07:28:43
#include <stdio.h>
int x=2,y=5;
void f()
{int x=0;
x++;
y++;
printf("%d,%d,",x,y);
}
void main()
{int x=8;
f();
f();
printf("%d,%d\n",x,y);
}

看不懂为什么输出的为1,6,1,7,8,7

大哥,太简单了吧!
第1次作函数f,X是F中的定义,故由0变为1,Y是全局变量变为6,
第2次作函数f,X是F中的定义,故由0变为1,Y是全局变量变为7,
Main中输出的是X是Main中定义的故为8,Y仍是7
Ok了!

按F10单步运行,遇到函数时按F11,就知道了

第二行定义的是全局变量,各个函数中又有局部变量,当局部变量与全局变量同时出现,全局变量没有作用。
你还是看看书上的全局变量与局部变量吧

up