m0_63881586 2023-03-07 16:48 采纳率: 15.4%
浏览 35
已结题

关于#c语言#的问题:执行case1变成1,再执行case1变成2,再执行case2变成4输出

img


第一个结果不应该是4吗?一开始是0,执行case1变成1,再执行case1变成2,再执行case2变成4输出。可是答案不是这么算的,请各位告诉我一下怎么算的

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2023-03-07 16:49
    关注

    case 2不会向下继续运行,所以只有s=3时,case 3才会被执行
    第一次循环,s=0,执行case 0,由于没有break,会连续执行case 1和case 2。case 1后,s=1,case 2后,s=3(注意是s+=2,case 1已经让s=1了),然后break跳出switch。继续for循环,此时s=3,case 3执行一次,然后s继续增加, 再也不会等于3了,所以case 3只执行一次

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月7日
  • 已采纳回答 3月7日
  • 创建了问题 3月7日

悬赏问题

  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥15 关于超局变量获取查询的问题
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集
  • ¥15 在启动roslaunch时出现如下问题
  • ¥15 汇编语言实现加减法计算器的功能