不懂,求解释!
int main()
{
int x = 10;
if(x>0)
{
x = 100;
x /= 2;
printf("if语句内, x=%d\n", x);
}
printf("main方法内, x=%d\n", x);
fn1();
return 0;
}
这里的x=100不是只在if语句中定义的吗?为什么会对if语句之外的printf语句产生影响?
而改成int x=100之后变成局部变量,作用范围只在if语句内。
int main()
{
int x = 10;
if(x>0)
{
x = 100;
x /= 2;
printf("if语句内, x=%d\n", x);
}
printf("main方法内, x=%d\n", x);
fn1();
return 0;
}
这里的x=100不是只在if语句中定义的吗?为什么会对if语句之外的printf语句产生影响?
而改成int x=100之后变成局部变量,作用范围只在if语句内。
2015-07-11
举报