老师请问,如果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回答

好帮手慕小班

2019-07-18

        同学你好,1、上面代码中能够直接执行是因为,ch的值是8,执行ch+1后,不符合case '7' 的条件,直接执行default语句,default是最后一句,执行完成后,直接跳出!

    2、在switch中如果没有break语句,会在执行完其他case后,不会直接跳出循环哦,比如:

没有break语句的switch

http://img.mukewang.com/climg/5d301f1000015efb05820463.jpg

如上ch的值是8,对应在switch条件中加1,应该只执行case‘9’中的语句,但是执行完成后并没有直接跳出switch,而是继续执行了default中的语句-->执行了 r+4还执行了r+8,最后得到了22

加上break语句的switch

http://img.mukewang.com/climg/5d3020410001270004960433.jpg

只执行了case ‘9’中的语句,执行完成后,跳出了switch,所以最后r的结果是 14;

2

0 学习 · 11489 问题

查看课程