c语言 选择结构程序设计

#include<studio.h>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break... #include<studio.h>main(){ int x=1,y=0,a=0,b=0;
switch(x)
{ case1:
switch(y)
{ case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf(''a=%d,b=%d\n'',a,b);
}
程序运行的结果是:a=2,b=1
为什么啊?求解题详细过程,本人是初学者,请大家多帮忙啦,谢谢、、、!
展开
 我来答
五吉侍修德
2020-01-18 · TA获得超过3903个赞
知道大有可为答主
回答量:3112
采纳率:28%
帮助的人:230万
展开全部
/则正确的switch语句是-----这句看不懂。
float x=1.5;
int a=1,b=3,c=2;//则正确的switch语句是
switch(a+b) //如果A+B的值为1执行case1 3时执行case3,如果不是1或者3就跳出SWITCH
{ case1:
printf(''*\n");
case2+1: //case 3:
printf(''**\n'');
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
矢口日广大草芳
2014-01-21 · TA获得超过310个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:103万
展开全部
case 1执行之后,a=1,b=0;
case 1 后面没有break,所以会继续case 2,
case 2 执行之后 a=2,b=1,这时有break,所以不会再执行case 3了
追问
switch(y)    { case0:a++;break;      case1:b++;break;
那意思是上面的执行完,返回到了case1,case1没有break,继续执行case2?

那如果case1有break,它的位置应该在哪里呀?
追答
#includemain(){ int x=1,y=0,a=0,b=0;  switch(x)  { case1:     switch(y)     { case0:a++;break;       case1:b++;break;     }
break;//加在这里 case2:a++;b++;break; case3:a++;b++; } printf(''a=%d,b=%d\n'',a,b);}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LIJIBO1992
2014-01-21 · 超过11用户采纳过TA的回答
知道答主
回答量:196
采纳率:0%
帮助的人:45.7万
展开全部
1474077916.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式