若int x=1,y=2,z=3;表达式z+=x+y?++x:++y的值是_____。

这道题有没有错误,如果没有错误给我答案和分析过程... 这道题有没有错误,如果没有错误给我答案和分析过程 展开
 我来答
冰糖也是糖
2009-06-18 · TA获得超过108个赞
知道答主
回答量:35
采纳率:0%
帮助的人:0
展开全部
感觉这个表达式应该是这样 z += (x + y)?++x:++y)
首先由于三元运算符的优先级比较低,因此先要计算括号里面的加法运算
对于三元运算符(x+y)?++x:++y,由于x+y>0因此条件成立,计算++x
那么整个表达式的值就是++x值,也就是2,同时x进行了累加,变成了2
那个原来的表达式就变成了z += x,由于x为2,则最后表达式的结果为5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
snrbj1988
2009-06-18 · TA获得超过415个赞
知道小有建树答主
回答量:147
采纳率:100%
帮助的人:148万
展开全部
答案是5.
+=后面是一个三目运算符。
先求?前面的表达式,若表达式的值是0,则取:后面的值,非0取:前面的值,而自加运算符的用法是:
++x:先自增1在使用;
x++:先使用在自增1;
所以x+y?++x:++y的值是2;
z+=2相当于z=z+2=5.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式