老师您好,关于以下图片中的问题我有点疑惑,希望您能予以解答。

老师您好,关于以下图片中的问题我有点疑惑,希望您能予以解答。

http://img1.sycdn.imooc.com//climg/5cdd639400010b6e04750446.jpg

按我的理解,输出的结果应该为:“JavaScript 退出”。理由如下:

执行case "1": 符合,输出“JavaScript”;向下执行

执行case "2": 不符合;向下执行

执行case "3": 不符合;向下执行

执行default: ,输出“退出”。

故结果为:“JavaScript 退出”。为啥答案是“JavaScript Java c++ 退出”

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

你好,同学理解的有些问题哦。

case语句后面没有break;语句,导致“1”匹配成功后会继续向下执行代码,在case为2的条件也会执行,不会省略的,所以输出了所有的语句。

如果case后有break;语句, 在匹配成功后,就会退出switch语句,自己可以测试下。

祝学习愉快!欢迎采纳~

  • qq_pzq_0 提问者 #1
    老师您好。我明白没有break语句会继续执行,不明白的是,为啥输入“1”,不符合case “2”还是会执行case “2”条件中的输出输出语句。
    2019-05-17 11:25:28
  • 好帮手慕星星 回复 提问者 qq_pzq_0 #2
    因为case条件为1后面没有break;语句,不管下面case条件是否符合都会执行的。自己可以写代码测试下。
    2019-05-17 11:33:58
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师