永发信息网

[C语言]如图程序,为什么运行结果为2,2 而不是1,1 请详细解释整个程序是怎么运行的,谢谢

答案:3  悬赏:50  手机版
解决时间 2021-01-22 03:34
[C语言]如图程序,为什么运行结果为2,2 而不是1,1 请详细解释整个程序是怎么运行的,谢谢
最佳答案
switch选择的是 case2,但是case2后没加break,没跳出switch,所以还要执行一遍case3
全部回答
x/5=2
执行case 2
a b各自自加一次。
没有break
继续执行case 3
ab再各自自加一次
于是 输出
a=2,b=2
这是由于case 常量表达式只起到语句标号作用,并不是在该处进行条件判断。在执行switch语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。
本题10/5=2,找到case2,执行a++,b++,然后执行case3,再次a++,b++
因此最后的输出结果是2,2,而不是1,1。
如果想只执行case2,需要在后面加break
也就是说,在b++;后面加break; 就可以得到你所说的1,1的结果了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
剑花烟雨江南txt全集下载
刺客信条2 最后让找出剩余的密函 还说在主角
一条数学分析题目,求教想了很多方法都做不出
我想咨询被代理人死亡,为什么法定代理关系终
风度两字是什么词
一亿等于多少个一千万?
Bruce Lee was a famous film star made Kung
4阶的魔方怎么玩?
宏陶陶瓷的抛光砖耐磨吗?
2017年白本个人可以去泰国吗
云南省最好的十所高级中学?
请问我老公说我跟咸鱼一样是 什么意思呢
老站优化的办法有哪些
我妈是一个要求家人都要按她的思路做事,做人
找人帮我在AU上面编舞!只为一个人
推荐资讯
和女友分手了,该不该把送她的东西要回来
课文16年前的回忆,续写 50字
像语文学习可以多刷题能够使语文成绩提高吗
请问汽车油耗9.5升一公里是多少钱?
我与孙悟空的对话 四百字
长虹43q3t和王牌l43p2-ud哪个cpu好。各是啥型
椟珠是什么成语
拔罐减肥可以天天拔么
我想当太监
[课内篇目·能力训练]阅读答案
云数传媒无线数字电视机顶盒昆明地区装机电话
女朋友名字叫陈艳平,马上要过生日了,希望各
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?