小香蕉2009 发表于 2019-7-26 16:48:53

求助!

True and 0 or 1为什么返回值是1而不是0

zltzlt 发表于 2019-7-26 16:54:15

本帖最后由 zltzlt 于 2019-9-28 09:15 编辑

因为它会先计算 True and 0,返回值为 0
但接下来的 0 or 1 返回 1

小香蕉2009 发表于 2019-7-26 16:58:10

我自己搞明白了,0 or 1值应该是1,这里的0应该理解为false

小香蕉2009 发表于 2019-7-26 17:00:57

zltzlt 发表于 2019-7-26 16:54
因为它会先计算True and 0,返回值为0
但接下来的0 or 1返回1

谢谢,我也理解了,这里的0应该理解为false,那返回值就应该是1

回忆浅离 发表于 2019-8-5 08:42:16

看一下算符优先级按照优先级算一下

小香蕉2009 发表于 2019-8-5 08:53:59

因为TRUE 和0返回0,0 or 1应该返回1,所以答案是1

阿喂敲键盘贼帅 发表于 2019-8-6 08:26:42

and 的优先级比 or 高 ,先算and ,and是逻辑与运算,两个都为真才返回真,否之为假,or是或运算,有一个为真就返回真。

需要注意的是两个值均为真的情况下,and返回后一个为真的值,or返回第一个为真的值。
列如 3 and 4>>4
      3 or 4    >>3

zltzlt 发表于 2019-10-4 18:15:01

@不二如是
页: [1]
查看完整版本: 求助!