c++ - 使用 if 条件隐式 bool 求值

标签 c++ c

我有一个名为“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/

相关文章:

c++ - 使用 QPainter 绘制着色 QPixmap

c++ - 为什么游戏不使用数学表达式模板?

c - 段错误解决方案

c - 在 C/C++ 中初始化大小未知的数组

C - 获取输入类型枚举

c++ - crtp 和类型可见性

c++ - 如何决定我需要多少个互斥体?

c++ - 跨多个函数访问类指针

c - 生成带间隙的随机数

c - 从 gchar 缓冲区 (libcurl) 向 ftp 服务器发送图像