C语言中执行完switch语句中的default语句后是跳出switch还是还要执行后面的case直到遇到break或者执行完毕

 我来答
匿名用户
2011-03-21
展开全部
如果default语句在前面(不是switch语句最后一条语句的话,且后面没有break)则要执行后面的case直到遇到break或者执行完毕。如果是最后一条语句,也就执行完了,跳出switch语句
lgao622
推荐于2017-10-05 · 知道合伙人软件行家
lgao622
知道合伙人软件行家
采纳数:1137 获赞数:6548
毕业于武汉工程大学邮电与信息工程学院通信专业,软件行业,4年工作经验。

向TA提问 私信TA
展开全部
  1. 先计算switch括号后面表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,如若后面有break语句,则直接跳出。

  2. 如果没有break语句,然后不再进行判断,继续执行后面的case后的语句。直到遇到break语句跳出。

  3. 如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
g6874351
2011-03-21 · TA获得超过115个赞
知道答主
回答量:30
采纳率:0%
帮助的人:8.9万
展开全部
在C语言中一般会把default条件放到最后,表明没有上面任何case成立时进入default,
C语言是顺序执行的case后面没有break;则会一直往下执行。
int iInput = 2;
switch (iInput)
{
case 1:
{
//如果iInput=1,则会进入case 1,这时会执行 MessageBox(_T("你好C"));
//C语言是顺序执行的,接下来会执行break,表明switch完成,跳出switch
MessageBox(_T("你好C"));
break;
}
case 2:
{
//如果iInput=2,则会进入case 2,这时会执行 MessageBox(_T("C是最强大的"));
//C语言是顺序执行的,没有发现break;则会进入default条件,接下来执行MessageBox(_T("C是最强大的"));
MessageBox(_T("C是最强大的"));
}
default:
{
//如果iInput 不等于1或者2,则会直接跳到default
MessageBox(_T("你会C吗?"));
}
case 3:
{
//如果等于3,则会跳到case 3
MessageBox(_T("我是3"));
break;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maonianlove
2011-03-21 · TA获得超过1233个赞
知道小有建树答主
回答量:1027
采纳率:0%
帮助的人:1110万
展开全部
如果有break的话那就直接跳出循环,执行结束,如果没有break的话程序会执行未必在结束!

也就是说程序会和你的case语句中的每一个情况都进行比较配对,有的话就执行,没有的话把循环执行完毕后 跳出循环!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友446fbf752
2011-03-21 · TA获得超过730个赞
知道小有建树答主
回答量:1040
采纳率:0%
帮助的人:774万
展开全部
还要执行后面的case,这个我试过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式