请阅读以下代码并说出它的输出结果。

 #include <stdio.h>

 int val = ;

 int foo()
{
int val = ;
{
extern int val;
printf("val_foo = %d\n", val);
}
return val;
} int main()
{
int val = ;
printf("val_main1 = %d\n", val);
val = foo();
printf("val_main2 = %d\n", val);
system("pause");
return val;
}

在Dev-C++下编译后运行,输出结果如下:

val_main1 = 0
val_foo = 9
val_main2 = 2
请按任意键继续. . .

结论:

1. 当局部变量和全局变量名称相同,如果未作外部变量声明,在代码块中局部变量起作用。

2. 当使用extern声明为外部变量,需要用花括号使声明和引用位于同一个代码块,此时全局变量才起作用。

最新文章

  1. C++随笔:.NET CoreCLR之GC探索(3)
  2. BitMap算法应用:Redis队列滤重优化
  3. JavaScript简单的tabel切换2
  4. [字符哈希] POJ 3094 Quicksum
  5. centos7初步配置
  6. 201521123001 《Java程序设计》第14周学习总结
  7. [转载] redis 的两种持久化方式及原理
  8. ROS(indigo) turtlebot2 + android一些有趣应用
  9. PHP字符过滤方法
  10. 【记录】IntelliJ IDEA—IDEA2018-2019激活
  11. Vertx.vertx()初始框图和模块
  12. async:false;渲染阻塞
  13. JS基本类型-引用类型-深浅拷贝
  14. html网页如何使用哪种浏览器内核渲染的选择
  15. Bleve代码阅读(二)——Index Mapping
  16. 【UI测试】--易用性
  17. Unity:控制粒子特效的移动方向
  18. tomcat使用方法大全
  19. 【刷题】BZOJ 4650 [Noi2016]优秀的拆分
  20. 【BZOJ】1662: [Usaco2006 Nov]Round Numbers 圆环数(数位dp)

热门文章

  1. Jquery Validation 插件验证手机号
  2. (英文版)使用Visual Studio 2015 编写 MASM 汇编程序!
  3. C++学习37 string字符串的访问和拼接
  4. ubuntu 14.04 安装git server
  5. Eclipse自定义Ant版本
  6. Codeforces 611d [DP][字符串]
  7. Zookeeper分布式协调服务
  8. unix环境C编程之日期时间转换
  9. JAVA设计模式之调停者模式
  10. android 隐藏系统键盘