哪位高手知道c语言中语句 (m=a>b)&&(n=c>d) 是什么意思 ?非常感谢!!

如题所述

先看括号里的,括号中的优先级要高,因为关系运算赋(<,>,<=,>=)的优先级大于赋值运算符(=),所以先判断关系表达式a>b和c>d的值,如果为真,值为1,如果为假,值为0,然后再把值分别赋给m和n,然后就是看&&(逻辑与)这个运算符了,如果m和n的值同时为1,则整个表达式的值为1,即真,如果有一个为0,则整个表达式的值为0,即假。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-08
m和n是布尔型的,就是1真 和 0假。a>b那m就是1,相反就是0。
&&就是 m和n同时为真才是1,其他情况全是0。
第2个回答  2011-06-08
()&&() 中&&是逻辑运算符 是逻辑与 说白了就是&&两边的值都为真是 它的结果才为真(1) ;

m=a>b 的意识是 先比较a b的大小,如果a>b 则返回真(1)给m 相反这为假(0);
n=c>d同上
第3个回答  推荐于2018-03-13
(m=a>b)&&(n=c>d)

首先 比较 a>b, 大于m=1,否则m=0
其次比较 c>d 大于 n=1,否则n=0

然后 计算以下算式 : (m != 0) && (n!=0)本回答被提问者和网友采纳
第4个回答  2011-06-08
这行代码可以等同于下面的代码
if(a>b)
{
m = 1;
}
else
{
m =0;
return false;
}
if(m == 1)
{
if(c > d)
{
n = 1;
return true;
}
else
{
n = 0;
return false;
}
}

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

...c语言中(m=a>b)&&(n=c>d)a=1b=2c=3d=4是什么意思?详细一下谢谢_百度...
同理n=c>d也是一样 那么(m=a>b) && (n=c>d)的意思就是(a>b)&&(c>d),同时把a>b的结果赋给m,c>d的结果赋给n a=1b=2c=3d=4这个不符合语法规则啊??是不是a=1;b=2;c=3;d=4?

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语言中如何计算(m=a<b)&&(n=c<d)
(m=a<b)&&(n=c<d)可以看作是 (a<b)&&(c<d)~~~

这个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)的结果为0的时候也就是为 假的时候,则整个式子(m=a>b)&&(n=c>d);的结果为假,就不用判断(n=c>d)的真假,此时(n=c>d)语句就没有被执行,所以n并没有参与运算。假如(m=a>b)的结果为1也就是a>b是正确的,那么就会继续判断(n=...

求C语言高手解答
c是比较智能的,当他明确知道一个表达式的值时,剩下的式子不会再进行运算。比如&&运算,当两个值其中一个为0时,他就是0了,第二个式子就不用运算,由于a=5,b=6 (m=a>b)相当于(m=5>6)所以,m=0所以表达式(m=0)的值为0 所以(m=a>b)&&(n=c>d)的值就是0 所以n=c>d没有运算...

c语言中||和&&的区别
答案应为C a>b为假m就被赋值为0了 &&为且的关系m=a>b为假 (m=a>b)&&(n=c>d)为假 n=c>d不参与运算n还是初值

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语言中短路现象,求详解
若a || b ,如果a 的值为真,整个表达式的值就为真,执行顺序同上。b 的真假由最初的真假来判断,也就是说,当a 为真时,b 则不进行运算了。例如:(m=a>b)&&(n=c>d),当a b c d 分别为1,2,3,4,m =n =1时,由于a >b 为0,则m =0。而后面的不再执行,所以n=1...

相似回答