c语言 一道选择题 求解释

 我来答
儒雅又顺心丶雏菊02
2015-01-20
知道答主
回答量:31
采纳率:0%
帮助的人:18.3万
展开全部
这是一个三目运算符,a = 2,b = 5,a>b?a++:b++意思就是说如果a>b则a++,否则b++
这道题a>b为假,所以b++为5+1=6;a+b就等于2+6=8
tianshengwc
2015-01-20 · TA获得超过172个赞
知道小有建树答主
回答量:93
采纳率:0%
帮助的人:71.7万
展开全部
这个表达式叫逗号表达式,逗号表达式的特点是从左到右,依次执行每一段,表达式的值就是最后逗号后面的表达式的值。所以:
1、执行a=2;
2、执行b=5;此时a等于2,b等于5;
3、执行a>b?a++:b++;因为a不大于b,所以相当于执行b++;执行完后a的值没变,等于2,而b加了1,此时b等于6;
4、执行最后一句a+b;上一句执行完后a等于2,b等于6,因此这个a+b的表达式的值是2+6,也就等于8。
综上,所以整个表达式的值是整个语句执行完后最后一个表达式的值,故选B、8。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8346189
2015-01-20 · TA获得超过378个赞
知道小有建树答主
回答量:362
采纳率:54%
帮助的人:60.3万
展开全部
a=2不用说,b=5也不用说,后面是一个表达式,表示一个布尔值,而根据a,b的大小可以判断出这个布尔值为true,转化为整数也就是1,于是2+5+1=8;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
2一瞬间2
2015-01-20 · TA获得超过620个赞
知道小有建树答主
回答量:677
采纳率:0%
帮助的人:346万
展开全部
逗号表达式的值是最后一个表达式的值,a>b?a++:b++时,b自增1变成了6,所以6+2=8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
扯淡书生
2015-01-20 · TA获得超过122个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:102万
展开全部
a>b?a++:b++, a>b条件不成立,所以执行b++,此时a = 2,b= 6; a+b = 8;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式