经过以下语句定义后,表达式z+=x>y?++x:++y的值为()。int x=1,y=2,z=3

答案是6我觉得是2求解释啊... 答案是6 我觉得是2 求解释啊 展开
 我来答
百度网友cf527d2
推荐于2018-02-26 · TA获得超过177个赞
知道答主
回答量:9
采纳率:0%
帮助的人:4.6万
展开全部
确实是6。
z+=x>y?++x:++y;
分析这条表达式就是 z+=(x>y?++x:++y);
可知 x>y? 为false,则应返回++y的值;
即(x>y?++x:++y)=3;
z+=3;
所有答案就是6 了
匿名用户
2013-06-22
展开全部
结果是6
z+=x>y?++x:++y的意思是
z=z+x>y?++x;++y
因为x>y为假, 所以x>y?++x;++y这个运算出来是++y, 那么式子就成了
z=z+++y 而++运算符是先自增然后才执行下一条语句, 那么y就先办成3,然后才会和z相加的
这样就计算出来了z=3+3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
白菜一颗
2014-12-24 · TA获得超过8916个赞
知道大有可为答主
回答量:3260
采纳率:69%
帮助的人:3734万
展开全部
这个语句左边有z+=所以是个赋值语句,最后才会进行赋值操作
那这个语句就是先执行x>y?++x:++y,x大于y不成功,所以执行++y,y原来等于2,++之后变成3,z+=3所以就是6了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d6952d3ca
2014-12-24 · TA获得超过115个赞
知道小有建树答主
回答量:72
采纳率:0%
帮助的人:73.9万
展开全部
什么答案是6啊
三目表达式?左边为true则执行++x,反之则执行++y;
z+=x;即z=3+1=4,是大于2的,所以执行++x,x=2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式