执行以下语句后a的值为(),b的值为() int a=5,b=6,w=1,x=2,y=3,z=4; (a=w>x)&&(b=y>z);

a的值是0,b的值为什么是6???

先执行a=w>x 应为w<x,所以条件为假,a = 0;因为&&前一条件为假,无论后面什么情况结果都为假,所以后一句b=y>z不执行,b还是初始值6
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-08
程序首先计算a=w>x,这里由于w=1,x=2,所以w>x为假,假用0来表示,所以a=0;
由于是&&操作,这里有一个"短路",即比如A&&B的话,如果A为假的话,那么B就不计算了,可以直接得到&&表达式的结果了.
这里由于后半个式子没有计算,因此,b的值没有改变.
第2个回答  2010-12-08
因为用&&连接,前边的条件已经是false的时候,后面无论是什么,结果都是false,也就没必要去执行了。而程序编译器显示知道这点,所以它没执行后面的条件

int a=5,b=6,w=1,x=2,y=3,z=4.执行表达式(a=w>x)&&(b=y>z)
(a=w>x)&&(b=y>z)的值为0 a为0 b为6 && 与操作是从左至右 而 a=w>x 中,由于w<x,所以a=0 && 与运算见0为0,所以右边b的那一块压根就么参加计算

int a=5,b=6,w=1,x=2,y=3,z=4.执行表达式(a=w<x)||(b=y>z);printf...
a=1,b=6;或表示式的规则是前一个条件为真后一个条件不执行,所以(a=w<x)为真a赋值为1,(b=y>z)没有被执行,值没有改变依然为6

main() { int a=5,b=6,w=1,x=2,y=3,z=4,c; c=(a=w>x)&&(b=y>z); pr...
回答:输出是0,6,0。

c语言。。求解???若定义:int w=1,x=2,y=3,z=4,a=5,b=6; 则执行语句(
解释:w>x不成立,所以a=0,那么&&运算符的左值(a=w>x)整体为False;因为&&的短路效果,就是左值为False,则不计算右侧表达式;所以b还是为最初赋值的6 综上:a=0,b=6

执行以下语句后a的值为 (7) ;b的值为 (8) 。 int a, b, c; a=b=c=...
首先要知道三点:1.&&优先级比||高 2.||运算,如果左边为真,则右边不用再判断.&&运算,如果左边为假,则右边不用再运算 3.一般编程语言中,非零则为真 ++a || ++b && ++c <=> ++a || (++b&&++c)a=1,++a=2为真,语句就执行到这里跳过了 所以a=2,b=1,c=1 ...

1.如果是int x=0; cout<<(x=4*5,x=x*5),x+25;结果又如何呢?
1.int x=0; cout<<(x=4*5,x=x*5),x+25;\/\/输出的结果100,x=100,x+25的值丢失 2.int a=5,b=6,w=1,x=2,y=3,z=4;(a=w>x) && (b=y>z);上述语句执行后,逻辑表达式的值为0,a的值为0,b的值为6,因为,&&运算在执行完a=w>x后, 其值已确定为0,所以b=y>z...

...int a=3,b=3,x=1,y=2; 表达式 (a=y>x)&&(x=b>a) 的值是
y>x为真,得1 a=y>x,即a=1,赋值语句,表达式的值仍为1 b>a为假,得0 x=b>a,即x=0,赋值语句,表达式的值仍为0 (a=y>x)&&(x=b>a)即 1 && 0 为假 表达式的值为0

...的值分别为? int a=1, b=2, c=3, d=4, m=5, n=6;
a=1 。 因为 a>b 不正确,所以为0, 故m=0 ,&&与运算: 一个为0 整个"(m=a>b)&&(n=C>d)"为0 ,||为或运算:++a是a先自增然后参与运算,b--是b先参与运算然后再自增,故++a==b--为真,即( m=a>b ) && ( n =c>d ) || ++a = = b--为真,故a=1 ...

...int a=4,b=5,c=6,d=7,m=1,n=1,e; 则执行语句 e=(m=a>b)&&(n=c>...
(m=a>b)&&(n=c>d)当执行完m=a>b之后,返回的值是0,也就是false,就不去执行&&后面的表达式,只有m的值发生了改变n的值不变,所以是m=0.n=1。代码:include "stdio.h"void main(){ int a=5,b=4,c=6,d;d=a>b?(a>c?a:c):b;printf("d的值为%d",d);} ...

执行以下语句后a,b,c的值分别为( ). int a,b,c; a=b=c=1; --a||...
用&&做逻辑与计算时,第一个表达式不成立时则不再计算第二个表达式 而用&做逻辑与计算时,不管第一个表达式结果如何都会去执行第二个表达式

相似回答