c语言中switch语句里的break加与不加有什么关系

如题所述

c语言switch语句中,如果有加break则运行到时会跳出switch语句,执行switch语句之后的语句;如果没加break则会去运行switch中后续的语句,比如运行到后续别的case中。

c语言中,switch(开关语句)常和case、break、default一起使用。当常量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。

如果常量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句并跳出switch语句。

扩展资料:

C语言中,break语句常见用途:

1、当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则会从满足条件的地方(即与switch(表达式)括号中表达式匹配的case)开始执行,直到switch结构结束。

2、当break语句用于do-while、for、while循环语句中时,可使程序终止循环。而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。

参考资料来源:百度百科-switch (计算机语言关键字)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-01

一般必须在case语句结尾添加break语句。因为一旦通过switch语句确定了入口点,所有进一步的case都会被忽略,并且除非遇到关键字break;

否则会执行满足这个case之后的其他case的语句,知道switch结束或者遇到break为止。如果在switch中省略了break语句,那么匹配的case值后的所有情况(包括default情况)都会被执行。

在这个语句中,如果direction=U。那么四个case语句都将执行。如果direction=R。将执行剩下三个语句。原因是switch语句原理是跳转到caseX位置执行剩下的语句,直到最后或者遇见break为止。因此在每一条语句最后+break即可。

示例:

privatevoidarrange(){

switch(direction){

case'U':

case'R':

case'D':

case'L':

}

扩展资料

switch语句规则:

1、只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句

2、switch()的参数类型不能为实型。

3、case标签必须是常量表达式(constantExpression),如42或者'4'。

4、case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。

本回答被网友采纳
第2个回答  推荐于2017-11-29
不加的话有个问题就是 比如 你有5个CASE 语句,当第二个case与switch条件相同时 执行完第二个case 然后会顺序把下面的所有case语句执行完,如果你想让程序只执行相应的case就在后面加上break,这样就只执行这一个然后跳出本回答被网友采纳
第3个回答  2014-01-13
不加break的话,选中的switch后面所有的switch语句都会被运行一次
第4个回答  2014-01-13
break为跳出switch循环,而执行switch以外的语句、不加switch是不会跳出switch语句的
相似回答