#include <stdio.h>
int x = 77;
void fn1()
{
printf("fn1(): x=%d\n", x);
}
int main()
{
int x = 10;
if(x>0)
{
int x = 100;
x /= 2;
printf("if语句内, x=%d\n", x);
}
printf("main方法内, x=%d\n", x);
fn1();
return 0;
}这段代码中fn1()输出的是77,而不是10.这两个是不是都是全局变量?两个的作用范围是哪里?
你一共定义了两个函数fn1和main;int x=77在函数的外部,这个应该是全局变量,所以他的作用范围是全局
而int x=10和int x=100这两个我觉得都应该是局部变量,因为他们在函数内部。
还有就是如果一个函数内部有一个相同的变量的时候,函数内的变量优先选择,这里指的也就是局部变量了
....