C语言里switch语句为什么case后面有的加Break有的不加?
2015-11-18
展开全部
case后面的常量表达式实际上只起语句标号作用,而不起条件判断作用,即“只是开始执行处的入口标号”。
因此,一旦与switch后面圆括号中表达式的值匹配,就从此标号处开始执行;
而且执行完一个case后面的语句后,若没遇到break语句,就自动进入下一个case继续执行,而不再判断是否与之匹配,直到遇到break语句才停止执行,退出switch语句。
因此,若想执行一个case分之后立即跳出switch语句,就必须在此分支的最后添加一个break语句。
因此,一旦与switch后面圆括号中表达式的值匹配,就从此标号处开始执行;
而且执行完一个case后面的语句后,若没遇到break语句,就自动进入下一个case继续执行,而不再判断是否与之匹配,直到遇到break语句才停止执行,退出switch语句。
因此,若想执行一个case分之后立即跳出switch语句,就必须在此分支的最后添加一个break语句。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只要程序执行了break关键字,就跳出switch语句
追问
为什么第二个没有
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
后面没有语句,加不加意思都一样,所形成的效果也一样。
加上了更完美。
加上break;语句,执行完前面语句,到这儿跳出switch语句。
不加break语句,执行完前面的语句,到这儿也要跳出switch语句。
所以,加不加都一样的。
加上了更完美。
加上break;语句,执行完前面语句,到这儿跳出switch语句。
不加break语句,执行完前面的语句,到这儿也要跳出switch语句。
所以,加不加都一样的。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询