当局部变量遇上全局变量——extern及花括号用法举例
2024-10-18 23:28:55
请阅读以下代码并说出它的输出结果。
#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声明为外部变量,需要用花括号使声明和引用位于同一个代码块,此时全局变量才起作用。
最新文章
- C++随笔:.NET CoreCLR之GC探索(3)
- BitMap算法应用:Redis队列滤重优化
- JavaScript简单的tabel切换2
- [字符哈希] POJ 3094 Quicksum
- centos7初步配置
- 201521123001 《Java程序设计》第14周学习总结
- [转载] redis 的两种持久化方式及原理
- ROS(indigo) turtlebot2 + android一些有趣应用
- PHP字符过滤方法
- 【记录】IntelliJ IDEA—IDEA2018-2019激活
- Vertx.vertx()初始框图和模块
- async:false;渲染阻塞
- JS基本类型-引用类型-深浅拷贝
- html网页如何使用哪种浏览器内核渲染的选择
- Bleve代码阅读(二)——Index Mapping
- 【UI测试】--易用性
- Unity:控制粒子特效的移动方向
- tomcat使用方法大全
- 【刷题】BZOJ 4650 [Noi2016]优秀的拆分
- 【BZOJ】1662: [Usaco2006 Nov]Round Numbers 圆环数(数位dp)