c语言基础问题

c语言基础问题如图,图中题目后面的内容是deflaut:printf("%%");break;}deflaut:printf("&");}printf("\n");}我有... c语言基础问题如图,图中题目后面的内容是
deflaut: printf("%%");break;

deflaut: printf("&");
}
printf("\n");
}
我有点摸不懂这题,求详解。
展开
 我来答
百度网友67b4e8d
2018-05-16 · TA获得超过257个赞
知道小有建树答主
回答量:464
采纳率:65%
帮助的人:211万
展开全部
case语句每一种情况都会处理,switch()里面就是表达式语句,a>0为1,b<0为0,注意第一个switch的case1和case0之后没有break,故会继续向下进行,不会跳出第一个switch,答案应该是!*&
追问
懂了,意思是有break则跳出它所在的switch是吗?如果switch中所有case都不满足,则执行后面的deflaut?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金色潜鸟
2018-05-16 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5695万
展开全部
程序结构:
switch(a>0)
{
case 1: switch(b<0){ 开关b区域 }; //接着没有 break
case 0: switch(c==5){开关c区域 }; //接着没有 break
default: printf("&");
}
printf("\n");
这题的关键 是 各开关的数值等于几。路线图:
int a=2,b=7,c=5 ;
switch(a>0) 这里 初值 a=2, 逻辑式 a>0 为真,得开关值 1 进case 1:
case 1: switch(b<0) 这里 初值 b=7, 逻辑式 b<0 为 假,得开关值 0 进case 0:
case 0: printf("!"); break; 输出 ! 结束开关b . 后面没有 break; 于是 进:
case 0: switch(c==5) 这里 初值 c=5, 逻辑式 c==5 为真,得开关值 1 进case 1:
case 1: printf("*"); break; 输出 * 结束开关c 。 后面没有 break; 于是 进开关a 的default。 default: printf("&"); 输出 &。 结束开关a。 执行 printf("\n"); 程序结束。
更多追问追答
追问
很详细,非常专业,谢谢你啦

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f49cdd5
2018-05-16
知道答主
回答量:48
采纳率:0%
帮助的人:8.4万
展开全部
a = 2,那么a > 0为真,switch(a > 0)相当于switch(1),所以进入switch(b < 0)......
b = 7,那么b < 0为假,switch(b < 0)相当于switch(0),所以输出!;
c = 5,那么c == 5为真,switch(c == 5)相当于switch(1),所以输出*;
题目排版太乱了,你仔细看,我都知道我的答案对不对
更多追问追答
追问
不对,不输出@
追答
改正了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天枰一米阳关
2018-05-16 · 超过14用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:20.3万
展开全部
输出一个!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式