C语言程序设计题: 执行下列程序段后,a值为() a=1;b=0; if((a++>++b)?a

C语言程序设计题:执行下列程序段后,a值为()a=1;b=0;if((a++>++b)?a++:b--)a+=b;A.2B.3C.4D.5为什么答案是A呢?求解释... C语言程序设计题:
执行下列程序段后,a值为()

a=1;b=0;
if((a++>++b)?a++:b--)a+=b;

A.2
B.3
C.4
D.5

为什么答案是A呢?求解释
展开
 我来答
zdgl_humble
推荐于2018-04-06 · 超过70用户采纳过TA的回答
知道答主
回答量:188
采纳率:0%
帮助的人:86万
展开全部
很简单,看一下吧
a++是先使用a(来比较)再赋值,而++b正好相当,是先赋值给b再进行比较
a=1;
b=0;
然后if(a++>++b)的结果是if(1>1)即if(0),注:这里0表示假,原因如上所述,而比较完之后肯定是a=2; b=1;
然后再因为if(0)执行b--,即b=0;
后面估计你也会明白了,a+=b;即为a=a+b;
a=2+0=2
zqy5891
2015-07-18 · TA获得超过139个赞
知道答主
回答量:119
采纳率:0%
帮助的人:82万
展开全部
++在后变量先参与运算,运算后加1,++在前先自增1,再参与运算。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小忍Lily
2015-07-18 · TA获得超过123个赞
知道小有建树答主
回答量:102
采纳率:0%
帮助的人:67.7万
展开全部
a=2,b=0
追答
a>b++不成立
然后a++
再b--
最后a=a+b=2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式