局部变量与全局变量的问题
请问,下面的程序中怎么理解?
#include <stdio.h>
int x =1;
int fn1(int x)
{
int y,z;
z=2;
y=x+z;
printf("y=%d\n",y); /*这里为什么会输出“y=4”,在上面不是定义了“x=1;”的吗?应该是3啊!虽然我懂下面的调用函数中“fn(2)”又定义了x值,但是为什么程序不使用“x=1”计算呢?*/
return 0;
}
int main()
{
fn1(2);
int y=10;
printf("x+y=%d",x+y); /*这里为什么x值又是按照“x=1”计算的?*/
return 0;
}该程序得出的结果是
y=4
x+y=11
请大神帮忙解答!谢谢!
