已知int x=2,y=1,z;则执行语句z=!x&&--y;后,y的值是______ 答案是:y=1;请问为什么

 我来答
操雪绿伟秋
2020-03-18 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:696万
展开全部
/已知int
x=2,y=1,z;则执行语句z=!x&&--y;后,y的值是______
答案是:y=1
//这种类型是每年必考的题型,考点为短路特性,z=!x&&--y,&&的特点两真为真,而现在计算时先算!x即0,所以后边的--y就不用计算了,因为0与任何东西都是0所以y为1
哈鸿风霜赞
2019-10-26 · TA获得超过3万个赞
知道大有可为答主
回答量:9995
采纳率:32%
帮助的人:893万
展开全部
选b
逻辑运算符的运算特点是左值确定求右值.逻辑运算符不按照规定的优先级计算,在逻辑表达式的求值过程中,如果从"&&"或"||"左边的运算对象部分能够确定整个逻辑表达式的值,则不再求右边运算对象的值.具体地说:若有a&&b且a的值为0,则无须对b进行运算;若有a||b且a
的值为1,则无须对b进行运算.
表达式按优先级可分为二部分:
第一部分:--x&&--y
第二部分:第一部分值||--z;
--x
为前置运算,先将x值减1后,再参与运算,则结果为0;
根据优化,第一部分后面的--y就不运算了,值仍然为1。第一部分的值为0。
再计算第二部分。
0
||--z;
z
的值还要减1,变为0。最终逻辑表达式的值为0。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式