请问一下c语言中(m=a>b)&&(n=c>d)a=1b=2c=3d=4是什么意思?详细一下谢谢

如题所述

第1个回答  2019-05-31
(m=a>b)&&(n=c>d)
a>b的布尔值赋值(1或0)给m,如果为真,继续执行n=c>d.如果a>b为假,则不执行c=c>d
a=1b=2c=3d=4
这表达式有问题
第2个回答  2019-01-27
这个问题中
(m=a>&&
运算时;b)
为0,遇到了结果为
1,根据逻辑与运算规则,||
运算时:有
0

0。
同理,这样可以提高程序效率,所以后面的
(n=c>,结果肯定为
0,被忽略了;d)
就不计算了,何必浪费时间,如果前面的表达式为
0
的话,因为无论如何,后面的表达式就计算了,不一定每个表达式都计算的,后面的表达式就不再计算了
第3个回答  2019-08-21
m=a>b就是把a>b的比较结果赋给m,即a>b成立时,m=1否则m=0
同理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?
相似回答