- #include <stdio.h>
- int main()
- {
- int a = 20;//定义全局变量a,初始化值为20
- int score = a + 100;//此处score 变量为全局变量
- printf("%d\n", score);//输出变量就是上面定义的score变量的值也就是120,要换行
-
- {
- int score = 50;//重新定义了score变量,至于为什么不报错,跟变量的作用域有关,可以参考学习,
- {
- score = 10;//这个score变量赋值,只是对最近的score变量赋值,也就是上面定义的那个初始化为50的变量score
- printf("%d\n", score) ;//打印的值是最近的score的值,就是10,要换行
- }
- a = 10;//给全局变量a重新赋值为10,因为a为全局变量,并且在最近的大括号内没有定义局部变量a.所以更改的时全局变量a的值
- }
-
- {
- score = a + 250;//在最近的大括号内没有定义score和a变量,此处使用的都是全局变量的值,加起来以后就是260,此处更改的就是全局变量score的值,改为260
- int score = 30;//定义一个新的局部变量score并赋值为30
- printf("%d", score);//打印最近定义的score变量的值,就是30,不换行
- }
-
- printf("%d\n", score);//打印全局变量的值,也就是向上数第三行(大括号除外)所更改的score的值.就是260,要换行
- return 0;
- }
- //输出结果
- 120
- 10
- 30260
复制代码
这样注释,能看懂吗?如果还有疑问,可以说,大家一起学习~~~~ |