#include <stdio.h>
void main()
{
int x=1,y=0,a=0,b=0;
switch (x)
{
case 1: switch (y)
{
case 0: a++;break;
case 1: b++;break;
}
case 2:a++;b++;break;
case 3:a++;b++;
}
printf("\na=%d,b=%d",a,b);
}
答案为什么是a=2,b=1;而不是a=1,b=0呢,难道是还执行case3的语句啊
c语言的switch问题
答案:4 悬赏:10 手机版
解决时间 2021-05-05 09:59
- 提问者网友:心如荒岛囚我终老
- 2021-05-04 21:07
最佳答案
- 五星知识达人网友:轻熟杀无赦
- 2021-05-04 22:03
因为你case 1后面没有 break
全部回答
- 1楼网友:逃夭
- 2021-05-05 00:29
不是进了case3 而是进了case2
用switch语句要注意如果前一个没有break的话,下一条会被执行,实际上你的程序执行完case1后由于没有跳出进而执行了case2,在执行完case2的时候才跳出
- 2楼网友:未来江山和你
- 2021-05-04 23:49
因为外层switch的第一个分支执行完之后没有break语句,所以紧接着执行了第二个分支。
- 3楼网友:封刀令
- 2021-05-04 23:02
这东西 完全要跟一下 按上面来说的话 不可能出现你说的情况跟下程序吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯