永发信息网

c语言的switch问题

答案:4  悬赏:10  手机版
解决时间 2021-05-05 09:59
#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的语句啊
最佳答案

因为你case 1后面没有 break

全部回答

不是进了case3 而是进了case2

用switch语句要注意如果前一个没有break的话,下一条会被执行,实际上你的程序执行完case1后由于没有跳出进而执行了case2,在执行完case2的时候才跳出

因为外层switch的第一个分支执行完之后没有break语句,所以紧接着执行了第二个分支。
这东西 完全要跟一下 按上面来说的话 不可能出现你说的情况跟下程序吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
告诉我?谁又能做到忘却自我?
魔兽世界祖尔BUG开墓地
毛坯房有人租么?
1500米长跑策略
笑忘书歌词意思,笑忘歌的歌词是什么?有什么意
会计人员要有哪些职业道德
dnf光之魔石
高密到菏泽有多远,怎么去呀?
扬州天沐足道地址在哪,我要去那里办事
wow哪个职业更有前途
宝宝7个月了,最近夜里睡觉她总睡半小时就哭
关于大学报考计算机二级问题
百货大楼新区批发部在哪里啊,我有事要去这个
see you later和see you的现实生活中的区别
问问基金每周可以分配几次
推荐资讯
没有情人的情人节要怎么过?
求关于公司与个人签订的关于劳动时间及其工资
今天点QQ秀时,选完了东西,关闭时,出现一个框
安徽电信彩铃设置
我的电脑随便按3个键就会响一声是怎么回事
上海嘉定区有没有没有屈臣氏,有的详细地址是
则么做才能把握英语阅读 不失分
拍拍购物分享怎么在客户端上显示啊
蛇胆疮后遗症神经痛,特别是腹部和背部,已疼痛
炫舞里有哪些情侣装
大专以上学历包不包括大专?
脸部皮肤老是感觉搔痒怎么办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?