黑马程序员技术交流社区
标题:
switch中不遇break不停
[打印本页]
作者:
m狂崩的猫
时间:
2016-3-22 21:35
标题:
switch中不遇break不停
int b = 0;
switch(a){
case1:b++;
case2:b++;
default:b++;break;
}
时b=3 ?
作者:
Joschi
时间:
2016-3-22 21:43
你这个题 没有给出a的值,如果a的值在case1 和case2中找不到
那会走到default 此时b的值为1 遇到break结束。
如果a=1 那么b最终的值会为3
如果a=2 那么b最终的值会为2
作者:
Devilhunter
时间:
2016-3-22 21:58
你是想说无break穿透情况吧
作者:
兵蜂
时间:
2016-3-22 21:59
每一个case后面都是可以加break的
作者:
604840337
时间:
2016-3-22 22:15
首先要把a赋值 才可以 需要严谨性 没有break 那么则会穿透
作者:
yunfeng482
时间:
2016-3-22 23:06
呵呵,老生常谈的问题{:2_32:}
作者:
huangkai521
时间:
2016-3-22 23:17
1、case与default没有顺序。先执行第一个case,没有匹配的case执行default。
2、结束switch语句的两种情况:①遇到break,②执行到switch语句结束。
3、如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
4、进入switch语句后,执行顺序是先执行case,然后从上到下,最后再执行default。即使default放在case上面,执行顺序也不变。
作者:
陈文广
时间:
2016-3-22 23:25
这里面涉及到了switch语句中的case穿透问题,
作者:
向北_
时间:
2016-3-22 23:28
a......?呢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2