我有一个名为“count”的整数,当满足特定条件时它会增加。所以我想问如果你写这个条件会发生什么:
if(count % 2)
{
return even_bit;
}
else
{
return odd_bit;
}
问题基本上是问,当您没有在整数数据类型变量的表达式中显式定义它时,上面的 if 条件是否正在检查条件 count%2 = 0 或 count%2 !=0。
最佳答案
如果表达式的计算结果为 0
,它将被解释为 FALSE
- 对于任何非零值,它将被解释为 TRUE
>。换句话说,
if(count % 2)
相当于
if(count % 2 != 0)
所以你的代码是“向后”的。如果该语句为真,则 count
为奇数,您很可能希望返回 odd_bit
(此处只是猜测。)。
关于c++ - 使用 if 条件隐式 bool 求值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19409057/