老师请问,如果switch中没有break语句,在执行完case语句之后也会自动跳出switch嘛
来源:3-5 选择练习
i什么t
2019-07-18 11:03:03
char ch = ‘8’;
int r = 10;
switch(ch+1){
case ‘7’:r=r +3;
default: r= r + 8;
}
1回答
同学你好,1、上面代码中能够直接执行是因为,ch的值是8,执行ch+1后,不符合case '7' 的条件,直接执行default语句,default是最后一句,执行完成后,直接跳出!
2、在switch中如果没有break语句,会在执行完其他case后,不会直接跳出循环哦,比如:
没有break语句的switch
如上ch的值是8,对应在switch条件中加1,应该只执行case‘9’中的语句,但是执行完成后并没有直接跳出switch,而是继续执行了default中的语句-->执行了 r+4还执行了r+8,最后得到了22
加上break语句的switch
只执行了case ‘9’中的语句,执行完成后,跳出了switch,所以最后r的结果是 14;
相似问题