4个回答
展开全部
y=(++a)&&(--b)&&(c=b+3);
执行 ++a的结果 a为1,为真,因为是 && ,则继续看后面的逻辑判断 --b,结果为0,为假,由于后面也是&&,而 && 操作只要一个为假,结果就为假,所以,后面不执行。
a = 1, b = 0, c = 3, 而 y = 0(&&表达式为假)。
y = (++a)||(--b)||(c=b+3);
执行 ++a,结果 a 为1,为真,因为是 || ,只要一个为真就是真,因此,当(++a)为真的时候,后面就不执行了。
所以:
a = 1, b = 1, c = 3, y = 1(表达式的结果为真)
执行 ++a的结果 a为1,为真,因为是 && ,则继续看后面的逻辑判断 --b,结果为0,为假,由于后面也是&&,而 && 操作只要一个为假,结果就为假,所以,后面不执行。
a = 1, b = 0, c = 3, 而 y = 0(&&表达式为假)。
y = (++a)||(--b)||(c=b+3);
执行 ++a,结果 a 为1,为真,因为是 || ,只要一个为真就是真,因此,当(++a)为真的时候,后面就不执行了。
所以:
a = 1, b = 1, c = 3, y = 1(表达式的结果为真)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
||在++a不满足时不会执行--b和c=b+3;而&&是执行到最后一个。你可以吧++a和--b换一下位置再试一下是不是这样,课本上应该有这些的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询