逻辑运算符偶不明白哈。。。

来源:百度知道 编辑:UC知道 时间:2024/06/24 07:10:23
为什麽 书上说逻辑运算符德原则是:
若“&&”德左运算对象德值为非0,则不再对右运算对象求值,因整个式子德结果必定为0.
若“||”德左运算对象德值为0,则不再对右运算对象求值,因整个式子德结果必定为1.

偶个人举例:
a&&b||c.
a=0,b=1,c=2
a&&b为0,
0||c为1呀。

为什麽说是真个式子为0呢。?

大多数编译器用:
0 表示 假, 1 表示 真。
非0 是 非假,非假 是 真。

|| 是“或”运算,前后有1个为真,结果就是真, 所以 当左边算出真,右边计算就可以 省 了,因为肯定 是真。

&& 是“与”运算,前后有1个为假,结果就是 假。

但有少数编译器反过来-- 0 表示 真, 1 表示 假。

你看的书有可能 0 1 是 反的,也可能有印刷错,例如 少“非”字,或多“非”字。上面那段文字看上去有点乱。

你的例子 a&&b为0,0||c为1,整个式子为1,或为 “非”0。

若“||”的左运算对象的值为1,则不再对右运算对象求值,因整个式子的结果必定为1.

若“||”德左运算对象德值为0,则不再对右运算对象求值,因整个式子德结果必定为1.
这句话是错的,应该是:
若“||”德左运算对象德值为1,则不再对右运算对象求值,因整个式子德结果必定为1。

还有,0 && 1 || 2这个表达式结果的确是1。

你那是啥书啊。

一般来说。。。你的书写错了,或者你看错了~~