已知int x=1,y; 执行 y=++x>5&&++x<10;语句后,x的值为多少呢? 谢谢高人回答哦

 我来答
woshifotuo
2010-10-18 · TA获得超过701个赞
知道小有建树答主
回答量:249
采纳率:0%
帮助的人:268万
展开全部
首先要明白++x和x++的区别,++x是变量x先进行自加,运算结果再参与运算,x++是x先参与运算,之后变量再自加,明白这个这个问题就不难了。
之后再看表达式,Y是一个boolean值,是两个表达式&&之后的结果,对&&操作符来说,如果前面的表达式为真,再运算后面的表达式,两者取与运算,如果前面的表达式为假,将不会执行后面的表达式,无论真假,Y结果都是假,对于||操作符,无论前面的表达式真假,后面的都会执行,对于前面的表达式:++x>5来说,由于先自增使得x=2,2>5不成立,表达式不再继续运算,最终结果便为:x=2,y=false.
麒麟臂爆发了61
2010-10-17 · TA获得超过197个赞
知道小有建树答主
回答量:105
采纳率:0%
帮助的人:105万
展开全部
表达式y=++x>5&&++x<10,理论上是应该先执行++x>5,然后执行++x<10,然后两结果相与,再赋值给y。但是由于++x=2,显然是小于5的,也就是说++x>5的结果为0,而0与任何值相与结果总是0。此时计算机就对这一运算进行了优化,当发现&&左边的式子结果为0,那么整个表达式的结果就是0,而不再对&&右边的式子进行运算。
所以x的值为2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
asdf511
2010-10-17 · TA获得超过485个赞
知道小有建树答主
回答量:262
采纳率:0%
帮助的人:0
展开全部
x=2. y=++x>5这个不成立,后面的++x没有执行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式