已有定义:int x=3,y=2;,则执行语句!x&&(y++);后,y的值是?

好吧,我知道结果是2但是求过程...明天考试了...求帮忙... 好吧,我知道结果是2
但是求过程...明天考试了...求帮忙
展开
 我来答
GAIGUANGYEXING
2012-11-24 · 超过20用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:32.8万
展开全部
&&是短路与,也就是说,当判断前一个条件是假时,就不在判断后面的条件了,此例中:!x是0,为假。所以不再判断后面的那个条件,那么(y++)也就不执行了,所以y还是2
神龙见尾不见
2012-11-24 · TA获得超过224个赞
知道小有建树答主
回答量:286
采纳率:0%
帮助的人:111万
展开全部
y=2,
!x&&(y++); 他们之间是逻辑与,
前面已经可以判断出假了,因此后边就不用执行了,因此也就不用执行y++;
所以y的值保持不变
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lilongs
2012-11-25 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:256
采纳率:0%
帮助的人:92.1万
展开全部
y=2;
!x&&(y++)结合关系: (!x) &&(y++),由于是”与“关系,过程是这样的:
先看第一个元素,如果(!x)不是0,则再看计算第二个元素的值;
如果(!x)是0,&&后的任何东西都不会再计算了;这是编译器的算法。

因为(!x) =0所以&&后面的元素就不再去计算了。0与上任何东西都为0。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7fbceda
2012-11-24
知道答主
回答量:55
采纳率:0%
帮助的人:17万
展开全部
3, x&&(y++)的结果是true
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qianhai3399901
2012-11-24
知道答主
回答量:56
采纳率:0%
帮助的人:10.3万
展开全部
2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式