我有一个名为“count”的整数,当满足某个条件时会递增。所以我想问一下,如果你写下这个条件会发生什么:
if(count % 2)
{
return even_bit;
}
else
{
return odd_bit;
}
问题基本上是当你没有在整数数据类型变量的表达式中明确定义时,上面的if条件是否检查条件计数%2 = 0或计数%2!= 0。
答案 0 :(得分:3)
如果表达式的计算结果为0
,则将其解释为FALSE
- 对于任何非零值,它将被解释为TRUE
。换句话说,
if(count % 2)
相当于
if(count % 2 != 0)
所以你的代码是“倒退”的。如果该陈述为真,count
是奇数,你很可能想要返回odd_bit
(这里只是猜测。)。
答案 1 :(得分:0)
if(count % 2)
相当于
if(count % 2 != 0)
现在它将全部依赖于count
它是偶数还是奇数。如果是偶数,count%2
为FALSE
(返回odd_bit
),如果count
为奇数,则count%2
为TRUE
(返回{{1} }})。