执行以下语句后a的值为(),b的值为() int a=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z);
3个回答
展开全部
程序首先计算a=w>x,这里由于w=1,x=2,所以w>x为假,假用0来表示,所以a=0;
由于是&&操作,这里有一个"短路",即比如A&&B的话,如果A为假的话,那么B就不计算了,可以直接得到&&表达式的结果了.
这里由于后半个式子没有计算,因此,b的值没有改变.
由于是&&操作,这里有一个"短路",即比如A&&B的话,如果A为假的话,那么B就不计算了,可以直接得到&&表达式的结果了.
这里由于后半个式子没有计算,因此,b的值没有改变.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为用&&连接,前边的条件已经是false的时候,后面无论是什么,结果都是false,也就没必要去执行了。而程序编译器显示知道这点,所以它没执行后面的条件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询