c语言逻辑符运算,2、3题怎么做?答案都是1

c语言逻辑符运算,2、3题怎么做?答案都是1
最新回答
很酷的小当家

2023-07-05 03:09:08

首先说明运算符的优先级:(由高向低)
逻辑非:!
算术运算符:*、/
算术运算符:+、-
逻辑与:&&
逻辑或:||

(2) a||b+c&&b-c
等价于a||((b+c)&&(b-c))
因为a不等于0,故不用管||后面的,a||…肯定等于1。

(3) !(a>b)&&!c||1
等价于((!(a>b))&&(!c))||1
不用管||前面的,…||1肯定为1。
想后不需要理由

2023-02-13 20:51:34

第二题:
因为+ -优先级高,所以这题等价于
a||(b+c)&&(b-c)
即3||9&&(-1)
而&&的优先级较高,所以有等价于
3||1
所以值为1

第三题:
这题等价于
(!(a>b)) && (!c ) || 1
即 1&& 0 || 1
又等价于 0||1
所以答案为1