C语言问题,求大神解决,我是小白,最好解释下原因,谢谢拉。

运行下列程序段后x的值是_______。inta,b,c,x;a=0;b=0;c=0;x=7;if(!a)x--;elseif(b);if(c)x=3;elsex=4;A... 运行下列程序段后x的值是_______。
int a,b,c,x;
a = 0; b = 0; c= 0; x = 7;
if (!a) x--; else if (b);
if(c) x=3; else x=4;
A)4 B)6 C)7 D)3
答案:A
第一个符合,执行x--,不就等于6么,怎么是4呢
展开
 我来答
w0911h
2013-03-19 · TA获得超过145个赞
知道答主
回答量:244
采纳率:0%
帮助的人:140万
展开全部
if(!a)x--;a为0,所以这条成立,x=6
else if(b);上面if成功,该语句不会执行
if(c)x=3; c为0,该语句不成立,不会执行
else x=4; 因为上面if不成立,执行该语句,x=4
xingyunbuzui
2013-03-19 · TA获得超过1160个赞
知道小有建树答主
回答量:346
采纳率:100%
帮助的人:386万
展开全部
1 if (!a) x--; else if (b);
2 if(c) x=3; else x=4;

1后面有分号,if判断结束。
所以最后执行的语句2,展开:
if ( c)
x=3;
else
x=4;

c=0,所以执行x=4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-03-19
展开全部
if(c) x= 3; else x=4;

最后不就这句么,和前面的运算都没有关系了,就看c的值了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式