可以,case后面要求出现的是语句,而没要求一定得是break语句。switch语法图参见https://www.zhihu.com/...
二、茬儿解析 我输入字符1后,程序执行完第13行 printf("1\n", var); 后,会继续从第14行 case '2': 开始执行呀,可不就输出字符2了嘛。13行的printf后没有break呀,可不就继续执行第14行嘛! 其实这也是C语言初学者经常会犯的一个错误,就是switch-case中忘记加break,导致整个程序的逻辑错了! 三、修正...
当我switch的英文就是开关的意思,我们把a当作一把钥匙,当我们a=2时,相当于插入钥匙孔case 2,这时候相当于switch开关打开,所有的case都无作用,全部都被打开,则没有break时也不会受到前面case影响,仍然会执行下面的语句,这是我个人见解。
switch语句其实每个case都会判断的,所以要用break跳出有时候两个不同的case需要做相同的处理例如case10 case 9都是优秀那么case10: 之后不写任何语句,也不写break那么也会运行紧跟着的case 9:后面的语句,显示优秀就应为用这样的极值,所以在正常的case情况运行完后,要记得加break而在多个case有共同操作的时候,可以把...
{ int a = 1, b = 0;switch(a){ case 1:switch(b) //执行到这里 { case 0:printf("**0**");break; //输出 case 1:printf("**1**");break;}//注意!这里的switch并没有break;所以继续向下执行,执行了 printf("**2**");,虽然a不等于2,但是由于没有Break会继续向下执行的,...
switch...case语句中case后没有加break时会继续执行下一个case,无论条件是否满足都会执行,除非遇到...
因此,一旦与switch后面圆括号中表达式的值匹配,就从此标号处开始执行;而且执行完一个case后面的语句后,若没遇到break语句,就自动进入下一个case继续执行,而不再判断是否与之匹配,直到遇到break语句才停止执行,退出switch语句。因此,若想执行一个case分之后立即跳出switch语句,就必须在此分支的最后...
达夫设备进行数据复制,就是利用了switch会直接跳转到case标签处进行继续运行,如果没有break语句,继续执行下面的内容,直到while循环退出。相比我们常用的数据拷贝MyCopy,每拷贝一个数据就要判断一次循环计数是否达到。而达夫则以8个数据为一组(当然你可以设计得更多,不过太多在效率上就优化得不明显了),首先做了取余的处...
匹配到某一个case后,若该case的分值没有break语句,则会继续执行下一个case分值。直到遇到第一个break,或者整个swith语句执行完。
如果没有break语句,一旦进入一个case分支之后,会一直执行下面所有的case分支,哪怕不满足case条件。