c语言switch语句的选择与default之间怎么判断

这53题,如果case30后面没有break,继续执行到case40以后,还会不会返回来执行最后这个第一行的default

img

不会的,switch的本质其实是跳转,你f=20,他就跳到case20那一行,然后继续往下走,就不会去管下面的语句的case跟的是啥了,直到遇到break或switch结束,你可以试试吧case10和case30两行换一下位置,结果都是不一样的,default在上面是肯定运行不到的。你把default反倒20和30之间就能运行到了

当然不会了

img

从这里面可以看出,只会往下执行不会在向上执行
第一次输出值为10证明四行都执行了
第二次仅仅加了6说明跳过了第一行的default;
下面几次输出也是如此。

不会的,switch语句找到入口顺序执行的

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^