逻辑操作符 and or not
(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9) 求助大佬,为啥这个结果输出是 4 ?{:10_266:} 本帖最后由 heidern0612 于 2020-3-29 10:25 编辑
not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
----> (not 1))or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
----> 0 or 0 or 4 or 6 or 9
----> 0 or 4 or 6 or 9
----> 4 or 6 or 9
and中含0,返回0; 均为非0时,返回后一个值
or中, 至少有一个非0时,返回第一个非0
你懂短路逻辑和算式优先级,这个题就好做。 两边都不是0的情况下
and 直接取后面的值 or 直接取前面的值
如果存在0的情况
and 直接取0 or 直接取非0
false是 0 。。
所以 0 or 0 or 4 or 6 or 9 第一个不为0的是 4 所以是4
0 or 0是 0
但 0 or 0 or 4就是 4了 原来是这样,谢谢!!{:5_108:} 天假之名 发表于 2020-3-29 13:06
两边都不是0的情况下
and 直接取后面的值 or 直接取前面的值
如果存在0的情况
好的,谢谢你的回答!!{:5_93:} heidern0612 发表于 2020-3-29 10:19
and中含0,返回0; 均为非0时,返回后一个值
or中, 至少有一个非0时,返回第一个非0
原来是这样啊,谢谢你!!{:5_108:}
页:
[1]