执行程序int a=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf("%d %d %d\n",k,a,b);的输出结果是( )。

A、104B、103C、003D、004求详解... A、1 0 4 B、1 0 3
C、0 0 3 D、0 0 4
求详解
展开
 我来答
jnervo
推荐于2018-05-18 · TA获得超过757个赞
知道小有建树答主
回答量:469
采纳率:0%
帮助的人:157万
展开全部
D、 0 0 4

k=(++a<0)&&!(b--<=0);
这一句从左向右执行,先判断(++a<0)
++a; //a=0
所以++a<0为假

由于是求&&的结果,
所以判断为(++a<0)为假后直接付给k,不再执行!(b--<=0)
所以k=0, //逻辑假,0
a=0, //执行了一遍++a得到
b=4 //保持原值
liuk804
2011-11-10
知道答主
回答量:31
采纳率:0%
帮助的人:23.5万
展开全部
对于++a是先进行a+=1;然后再取a的值来判断!所以,a 的值是0,等于0 ,++a<0不成立,k 的值为零。由于&&的短路特性,所以后面的不进行运算,b的值不变!
答案是:004
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bee99635
2011-11-10 · TA获得超过1231个赞
知道小有建树答主
回答量:798
采纳率:0%
帮助的人:825万
展开全部
0 0 4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式