今天笔试360了,再次遇到这个简单但是又容易出错的问题。
首先看下正确的写法:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21int main() { int i; for(i=0;i<3;i++) { switch(i) { //switch语句一定加大括号 case 0: //注意格式 case 0: 这里不用加大括号 cout<<i; break; //每个case后要break case 2: cout<<i; break; default: cout<<i; break; } } system("pause"); return 0; }
加break的意思是说,找到合适的case执行后,下面的case就不再执行,而是退出当前switch语句。
-------------------------------------------------------------------------------------------------------------------------------------------------
容易考到的点是不加break会怎样?
看下面代码。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18int main() { int i; for(i=0;i<3;i++) { switch(i) { case 0: cout<<i; case 2: cout<<i; default: cout<<i; } } system("pause"); return 0; }
程序输出是000122
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19int main() { int i; for(i=0;i<3;i++) { switch(i) { case 0: cout<<i; case 2: cout<<i; break; default: cout<<i; } } system("pause"); return 0; }
程序输出是0012
结论:就是说找到适合的case前不执行,找到对应case后都执行,直到遇到break或者switch语句结束!
最后
以上就是欣喜灯泡最近收集整理的关于C++中的switch语句的break问题的全部内容,更多相关C++中内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复