c语言的,能教我这题怎么做的吗?

已知w=1,x=2,y=3,z=3,a=4,b=2;则执行语句(a=w>x)&&(b=y>z);后,a,b的值为__。A)1和1B)0和0C)4和2D)0和2... 已知w=1,x=2,y=3,z=3,a=4,b=2;则执行语句(a=w>x)&&(b=y>z) ;
后,a,b的值为 __ 。
A) 1和1 B) 0和0 C) 4和2 D) 0和2
展开
 我来答
freecs
2011-01-11 · TA获得超过118个赞
知道答主
回答量:94
采纳率:100%
帮助的人:85.2万
展开全部
上面的回答是错误的
呵呵,原因是,这里考的是非常简单的"短路求值",意思就是说,在&&表达式中,如果前面一个表达式的结果是false,那么后面就不要再求了,因为,&&的结果一定是false,这样是C++的效率追求决定,同时这也是一个很好的优化

w>x是false,false赋值给a,所以a=0;而后面就不要再求了,因此b,y,z都不变

选D

不懂可以hi我
guanhao266
2011-01-11 · TA获得超过248个赞
知道小有建树答主
回答量:294
采纳率:0%
帮助的人:195万
展开全部
你好。
选B.因为w>x是假(即0),y>z也为假(0),然后分别赋值给a,b.所以都是0。
谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cn_tigers
2011-01-11 · TA获得超过800个赞
知道小有建树答主
回答量:343
采纳率:0%
帮助的人:257万
展开全部
W>x? 1>2---> false=0 a=0
&& 条件第一个条件为false 了。&&后面的语句就不再执行了,
b为原值 2.
(0,2)

所以选D
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式