第十二周 项目一(2)
来源:互联网 发布:印刷照片淘宝 编辑:程序博客网 时间:2024/05/28 14:56
阅读下面有全局变量的程序,掌握全局变量的存储特征,必要时单步调试综合理解。
代码2:
#include <iostream>using namespace std;void cude();int main(){ extern int x;//去掉extern及本行全删除会怎样? x=5; //去掉这一句呢? cude(); cout<<x<<endl; return 0;}int x=10;void cude(){ x=x*x*x;}
运行结果:
预计运行结果:125
实际运行结果:125
extern声明x后,x变为全局变量,第六行是声名变量,第十二行是定义变量当经过第六行后x值为10,经过第七行x变为5,调用到函数cude中x值变为125,虽然void函数不反馈值,由于x为全局变量,x已赋值为125,所以输出结果是125.
***去掉extern代码及运行结果:
#include <iostream>using namespace std;void cude();int main(){ int x; x=5; //去掉这一句呢? cude(); cout<<x<<endl; return 0;}int x=10;void cude(){ x=x*x*x;}
经过单步调试,去掉extern之后,x不再是全局变量,x值首先为5,到调用函数cude中时,x值为10,经过运算得到1000,但函数值不反馈,返回主函数x值为5,最后输出5.
***去掉"extern int x;"的代码及结果:
#include <iostream>using namespace std;void cude();int main(){ x=5; //去掉这一句呢? cude(); cout<<x<<endl; return 0;}int x=10;void cude(){ x=x*x*x;}
结果:
知识点总结:x变量未声明,出错!!
***去掉"x=5"这一行的代码及运行结果:
#include <iostream>using namespace std;void cude();int main(){ extern int x; cude(); cout<<x<<endl; return 0;}int x=10;void cude(){ x=x*x*x;}
运行结果:
知识点总结:当去掉x=5时,由extern全局变量的x赋值为10,再经过cude函数的调用,得x=1000.
0 0
- 第十二周 项目一(2)
- 第十二周项目一2
- 第十二周项目一
- 第十二周项目一
- 第十二周项目一
- 第十二周项目一
- 第十二周项目一
- 第十二周项目一(2-2)
- 第十二周 项目一 2-2
- 第十二周项目一(2)
- 第十二周 项目一 1-2
- 第十二周 项目一 2-1
- 第十二周项目一(1-2)
- 第十二周项目一:阅读程序2
- 第十二周项目一(2)
- 第十二周项目一(3-2)
- 第十二周项目一(2)
- 第十二周上机项目一
- UVA 10130 SuperSale
- 如何删除Windows服务
- Qt text Browser 控件使用
- vi简单实用手册
- Linux服务器的配置
- 第十二周 项目一(2)
- 企业IT管理员IE11升级指南【5】—— 不跟踪(DNT)例外
- 代码实现操作拥有TrustedInstaller权限的注册表项
- 第十一周项目3(2)求1*3*.......*n
- Android--Service之提高
- 求N组数的最大公约数
- 我的blog世界正式开始
- 第十二周项目3-用递归的方法求解(求n!)
- 命名空间“Microsoft.Office.Interop.Word”中不存在类型或命名空间名称“WdExportFormat”