逻辑运算符偶不明白哈。。。
来源:百度知道 编辑: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,则不再对右运算对象求值,因整个式子德结果必定为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。
你那是啥书啊。
一般来说。。。你的书写错了,或者你看错了~~