逻辑表达式(m=a>b)&&(n=c>d)运算

设a,b,c,d,m,n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为(A)
A)0 B)1 C)2 D)3
我选的C,我认为(m=a>b)执行后,为假,已经是0,所以不用再执行(n=c>d)语句,逻辑表达式(m=a>b)&&(n=c>d)就已经为假了。所以没有执行(n=c>d)语句,所以n还是等于2.这么想为什么不对?

第1个回答  2010-02-23
&&的结果只有真或假 1 0
第2个回答  2010-02-22
楼主多想了
&&除了有本身“和”的意思外,还有就是两边是同时进行或者同时不进行,
也就是(m=a>b)&&(n=c>d)与(n=c>d)&&(m=a>b)是一样的,
换个角度看,既然是逻辑运算,基本是0,1,要不然就加加减减,和幼稚园数学有什么区别本回答被网友采纳
第3个回答  2010-02-22
我编译以后也是2,这个答案错了!
有的时候最好自己编写验证下啊!

逻辑表达式(m=a>b)&&(n=c>d)运算
&&的结果只有真或假 1 0

逻辑表达式(m=a>b)&&(n=c>d)运算
a > b 为假返回0,然后将 0 赋给 m ,故 m = 0;同理:n = 0;

...m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值是
设abCdmn均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值是0。解析:C语言中比较表达式的运算结果为0或1。0代表不成立,1表示成立;例如 9>8这个关系表达式是真的,所以9>8这个表达式的数值就是1; 7<6这个关系表达式是假的,所以...

在c语言中,a=(m=a>b)&&(n=c<d);是什么意思
由于a>b为假,所以m=0;\/\/ 再计算(n=c>d),由于c>d为真,所以n=1;\/\/ 最后计算逻辑与,此时将m=0与n=1进行与运算,结果为0,之后将最终结果0赋值给变量a,所以经过a=(m=a>b)&&(n=c>d);

(m=a>b)&&(n=c>d)
先将a的值赋给m,即m=1,而b=2,显然m=a>b的值是0.由于是"与'运算,后面的式子可以不看,即不用执行了。整个表达式的值也为0.而n前后的值没有变化,n=2

(m=a>b)&&(n=c>d)运算后
因为a>b为假,所以m=0 当"&&"左边为0时,电脑就不会再算右边了,既n=c>d没有被运算 所以n还是为2。

这个c程序中m怎么等于0,n怎么等于2啊
关键是这句:(m=a>b)&&(n=c>d);这本身是个逻辑表达式,所以先计算左边括号中的表达式的值,即m = a > b。因为逻辑运算符>的优先级高于赋值运算符=,所以先求a > b的值。而a = 5, b = 7,所以a > b不成立,逻辑运算结果为0,再把0赋值给m。所以m的值会是零,而且整个表达式(m ...

c语言(m=a>b)&&(n=c>d),a=5,b=6,c=7,d=8,m=2,n=2,运算后m= ,n=...
首先你应该明白运算的优先级,包括逻辑运算与算术运算。注意,在c语言中是非0即1的思路,这里根据C语言语法分析:a>b = 0, 后面是与运算,到此程序应该结束,表达式为0。最后结果:m=0, n=2

C语言 详细解答
(m=a>b)&&(n=c>d)中,先判断a>b和c>d,但 m,n,a,b,c,d 均为1,所以a>b和c>d的逻辑值都是“假”,默认真是1,假是0,所以把0赋值给了m和n a!=0&&b!=0 即a不等于零并且b不等于零,!代表逻辑非,&&代表逻辑且 (b=10)%(c=6)就是b=10;c=6;a=b%c,%是取余数的...

...c=3,d=4,m=2,n=2;则表达式(m=a>B) &&(n=c>D) 运算后,n的值是...
【答案】:C 解析:在逻辑与&&运算中,如果第一个操作数为假,则结果是假,后面的操作数不参与运算,本题中因为第一个操作数(m=a>B为假,所以第二个操作数(n=c>d)不参加运算,因此n的值不变。

相似回答