为了账号安全,请及时绑定邮箱和手机立即绑定

switch/case语句中判断问题

switch/case语句中判断问题

C++
Cats萌萌 2018-10-23 13:22:31
面试例题1:下面的switch语句输出什么。[日本著名软件企业F公司2013年2月面试题]int n='c';switch(n++){default:printf("error");break;case 'a':case'A':case 'b':case'B':printf("ab");break;case 'c':case 'C':printf("c");case 'd':case 'D':printf("d");}A.cdd B.cd C.abcd D.cderror解析:本题考的是switch中的“fall through”:如果case语句后面不加break,就依次执行下去。所以先顺序执行,考虑n的初始值,从'c'开始查找输出(default和ab直接略过),输出c;没有break,那么继续输出后面的,输出d。答案:B我在这想问的是在case 'c':case 'C':printf("c");这条语句中为什么能输出c?第二个case判断的是大写C ,而此时n是小写c,所以不应该直接跳过printf语句吗?
查看完整描述

2 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

多个case写在一起,代表他们是共享一个入口的。

查看完整回答
反对 回复 2018-11-03
?
Helenr

TA贡献1780条经验 获得超4个赞

输出cdaaa,多个case没有break,会连续执行

查看完整回答
反对 回复 2018-11-03
  • 2 回答
  • 0 关注
  • 1026 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信