不明白为啥还会执行case 2后面的语句,这个swtich 又不会循环,不是应该从case 0 a++break 后面就退出swtich 语句了吗
初学者,请求指教
第一个的switch的case1没有break
在嵌套的switch中,break只能跳出一层,也就是说你这个代码在走完第11行a++之后,break会跳出switch(y)进入switch(x)的流程,亦即会接着执行第15行的代码。这时候又是a++,b++,所以最后a的值为2,b的值为1。
两层switch语句呢,内层switch虽然break;终止跳出了,但是还有外层switch呢,外层switch中的case 1并没有break;终止,所以外层switch语句不会退出,会继续执行case2语句。
希望对题主有所帮助!可以的话,帮忙点个采纳!
第11行 case 0:a++;break; 这条语句只退出了第二层switch(y)