搜索

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

发布网友 发布时间:2024-12-25 11:09

我来回答

3个回答

热心网友 时间:3分钟前

这是由于case 常量表达式只起到语句标号作用,并不是在该处进行条件判断。在执行switch语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。
本题10/5=2,找到case2,执行a++,b++,然后执行case3,再次a++,b++
因此最后的输出结果是2,2,而不是1,1。
如果想只执行case2,需要在后面加break
也就是说,在b++;后面加break; 就可以得到你所说的1,1的结果了。

热心网友 时间:3分钟前

switch选择的是 case2,但是case2后没加break,没跳出switch,所以还要执行一遍case3

热心网友 时间:7分钟前

x/5=2
执行case 2
a b各自自加一次。
没有break
继续执行case 3
ab再各自自加一次
于是 输出
a=2,b=2
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com

热门图文

Top