C语言switch中break语句的影响
发布时间:2021-12-14 21:15:54 所属栏目:PHP教程 来源:互联网
导读:问题: break在for循环、while循环等循环流程控制中起的作用是停止执行break后面的语句,跳出本次循环,并跳出该循环控制体; 在switch条件选择中,没有了循环控制,break又起什么作用呢? 解决办法: 1. switch语句的执行流程是: 首先计算switch后面圆括号中
问题: break在for循环、while循环等循环流程控制中起的作用是停止执行break后面的语句,跳出本次循环,并跳出该循环控制体; 在switch条件选择中,没有了循环控制,break又起什么作用呢? 解决办法: 1. switch语句的执行流程是: 首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较, 若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇到break语句就退出switch语句,程序流程转向开关语句的下一个语句; 若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句,然后退出switch语句,程序流程转向开关语句的下一个语句。 在switch-case语句中,多个case可以共用一条执行语句,如: case 常量表达式1: case 常量表达式2: case 常量表达式3: 语句; break; 由此可以看出case语句的作用: case后面的常量表达式实际上只起语句标号作用,而不起条件判断作用,即“只是开始执行处的入口标号”。 因此,一旦与switch后面圆括号中表达式的值匹配,就从此标号处开始执行; 而且执行完一个case后面的语句后,若没遇到break语句,就自动进入下一个case继续执行,而不再判断是否与之匹配,直到遇到break语句才停止执行,退出switch语句。 因此,若想执行一个case分之后立即跳出switch语句,就必须在此分支的最后添加一个break语句。 2. 从上面的描述可以看出,switch条件选择语句中的break的作用跟循环控制语句中的作用基本相同: 都是不执行break之后的语句,并结束退出switch语句; 3. 与循环控制中存在continue语句不同的是,switch条件选择语句中没有continue语句; 问题解决。 ![]() (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |