switch语句问题
发表在C语言图书答疑 2016-07-27
是否精华
版块置顶:
假如有这样一个含有switch语句的程序:
include<stdio.h>
main( )
{
char cChar;
printf(‘’请输入你的成绩等级:‘’);
scanf("%c",&cChar);
switch(cChar)
{
case ‘A’:
printf("你的成绩范围为90~100\n");
break;
case 'B':
printf("你的成绩范围为80~90\n");
break;
case 'C':
printf("你的成绩范围为70~80\n");
break;
default:
printf("你的输入有误\n'’);
break;
}


}
我就想问一下,假如我把switch语句的四个分支的break语句都去掉,此时我往变量cChar中输入一个字母A,按理说只输出:你的成绩范围是90~100,可为什么后面的三个分支也会相应的输出,不是后面的三个分支的情况不符合switch语句后面的检验条件吗,可为什么当我执行程序时还是会输出呢??
分享到:
精彩评论 2
again
学分:250 LV4
2016-07-27
沙发
这是语法规定, 执行完了case 'A'以后,由于没有 break,会继续向下执行。

直到遇到 break,才会跳出 整个 switch代码块。

这样的情况就记住就行了。
again
学分:250 LV4
2016-07-27
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
这是语法规定, 执行完了case 'A'以后,由于没有 break,会继续向下执行。

直到遇到 break,才会跳出 整个 switch代码块。

这样的情况就记住就行了。
[/FIELDSET]

回复:

所以任何情况下, 不要忘了 break;
除非 故意想让程序不跳出,而继续执行下一个 case 块。
  
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照