思考一下,经过不同的结构体,三次a的打印输出分别是什么?
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31#include<iostream> using namespace std; int main() /* 在main结构体中,初始定义int a=100; 在main结构体的while结构体中,利用a自加循环 在main结构体的for结构体中,定义一个a=0,利用a条件循环 在main结构体的for结构体中,使用a,利用a条件循环 */ { int a = 100; while (a<150) { a++; } cout <<"经过while后a的结果为:"<< a << endl; for (int a = 0; a <10; a++) { a++; } cout << "经过初始化a的for后a的结果为"<< a << endl; for (; a < 200; a++) { } cout << "经过未初始化a的for后a的结果为" << a << endl; return 0; }
运行结果为:
复制代码
1
2
3
4
5
6经过while后a的结果为:150 经过初始化a的for后a的结果为150 经过未初始化a的for后a的结果为200
分析:
在main结构体的while结构体中,利用a自加循环a从100变为了150,退出循环。
在main结构体的for结构体中,定义一个a=0,利用a条件循环。for中的a被重新定义,满足结构体退出条件后,内部定义的a离开其作用域失效了。此时main结构体中的a(150)岿然不动。
在main结构体的for结构体中,使用a,利用a条件循环。a循环自加到200满足条件,退出循环。
最后
以上就是土豪树叶最近收集整理的关于C++排雷:9.嵌套作用域中变量的定义和使用的全部内容,更多相关C++排雷:9.嵌套作用域中变量内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复