c语言问题,急急急?求解答

 我来答
m7j14h6
推荐于2017-10-21 · TA获得超过1221个赞
知道大有可为答主
回答量:1927
采纳率:80%
帮助的人:572万
展开全部
switch的用法是判断case后面的表达式和switch后面的表达式是否相匹配,一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。

void main()
{
int n='e';
switch(n--)
{
default: printf("error ");
case 'a':
case 'b': printf("good ");break;
case 'c': printf("pass ");
case 'd': printf("warn ");
}
}

n-- 先判断n,再n=n-1;
这题两个考点,一个是switch...case...的用法,另一个是n--和--n的区别。

因为n='e',没有任何一个相符,走default这一分支,打印出 error ,
然后不管后面的case内容是否匹配,依次执行,直到遇到break语句。
所以 case a: 后面没有内容不执行任何内容,
然后 case b: 打印出 good ,然后碰到break语句,跳出switch语句。

因此,答案选C error good
夜黑黎
2016-05-08 · TA获得超过324个赞
知道小有建树答主
回答量:188
采纳率:0%
帮助的人:144万
展开全部
C,因为你是后置运算,先执行default,又因为其后没有break,继续执行
case 'a':
case 'b'
追问
条件不对都可以运行case ‘b’的吗?
追答
嗯嗯,所以建议在每个case后加break
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
胡桃木璇vC
2016-05-08 · 超过49用户采纳过TA的回答
知道答主
回答量:120
采纳率:0%
帮助的人:110万
展开全部
选C,这个问题里面的default运行的原因是 n-- 是先进行判断然后才给n赋值,区分--n,这个是先赋值然后判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式