-2

我有一个名为“count”的整数,当满足某个条件时它会递增。所以我想问如果你写这个条件会发生什么:

if(count % 2)
{
    return even_bit; 
}
else
{
    return odd_bit;
}

问题基本上是询问上面的 if 条件是否正在检查条件 count%2 = 0 或 count%2 !=0 当您没有在整数数据类型变量的表达式中明确定义它时。

4

2 回答 2

3

如果表达式的计算结果为0,它将被解释为FALSE- 对于任何非零值,它将被解释为TRUE。换句话说,

if(count % 2)

相当于

if(count % 2 != 0)

所以你的代码是“倒退”的。如果该陈述为真,count则很奇怪,您很可能希望返回odd_bit(只是在这里猜测。)。

于 2013-10-16T16:47:12.780 回答
0
if(count % 2)  

相当于

if(count % 2 != 0)  

现在这一切都取决于count它是偶数还是奇数。如果是偶数,count%2则为FALSE(return odd_bit),如果count为奇数,count%2则为TRUE(return even_bit)。

于 2013-10-16T16:46:36.827 回答