C语言 若有以下定义float x;int a,b;则正确的switch语句是

A:switch(a+b){case1:printf("*\n")case1+2:printf("**\n")}B:switch(a+b){case1:printf("*... A:switch(a+b)
{ case1:printf("*\n")
case 1+2:printf("**\n")
}
B:switch(a+b)
{ case1:printf("*\n")
case2:printf("**\n")
}
答案是A
主要是不明白
1.A中switch后面为什么要跟a+b,这代表什么;
2.case后面跟1+2是什么意思;
3.为什么B的case2是错的?
展开
 我来答
ai看雪
推荐于2016-10-27 · TA获得超过207个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:201万
展开全部
假如 a=1, b=2 switch(a+b) 等价于 switch(3)

case 1+2 等价于 case 3

可能是在具体语境中是错的,除了没有 ; 之外,没啥语法错误
追问
也就是说B的case2也是可以的吗?
追答
为什么不呢?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式