首页 > 代码库 > 当局部变量遇上全局变量——extern及花括号用法举例
当局部变量遇上全局变量——extern及花括号用法举例
请阅读以下代码并说出它的输出结果。
1 #include <stdio.h> 2 3 int val = 9; 4 5 int foo() 6 { 7 int val = 2; 8 { 9 extern int val;10 printf("val_foo = %d\n", val);11 }12 return val;13 }14 15 int main()16 {17 int val = 0;18 printf("val_main1 = %d\n", val);19 val = foo();20 printf("val_main2 = %d\n", val);21 system("pause");22 return val;23 }
在Dev-C++下编译后运行,输出结果如下:
val_main1 = 0
val_foo = 9
val_main2 = 2
请按任意键继续. . .
结论:
1. 当局部变量和全局变量名称相同,如果未作外部变量声明,在代码块中局部变量起作用。
2. 当使用extern声明为外部变量,需要用花括号使声明和引用位于同一个代码块,此时全局变量才起作用。
当局部变量遇上全局变量——extern及花括号用法举例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。