【发布时间】:2012-06-24 19:25:03
【问题描述】:
我一直在为我的部分代码苦苦挣扎,我终于发现问题出在一个简单的测试上,它没有给我预期的结果。
if (2) //=> true
if (2 & true) //=> false
if (bool(2) & true) //=> true
我不明白为什么第二行会导致错误。 我的理解是每个非零整数在测试中都被认为是真的。
【问题讨论】:
-
&是位运算符,&&是逻辑与运算符。