c - 无用条件下的变量修改

标签 c variables

如果 foo == 13 为 false,此代码是否具有明确定义的行为?

if (foo == 13 && ++bar > 42)
{
    ...
}

最佳答案

是的。如果第一个条件为假,则永远不会评估第二个条件。

参见 Avoiding the execution of second expression's side effects .

关于c - 无用条件下的变量修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13541274/

相关文章:

c - 在 C 中解析 CSV 文件

c - pr_* 和 printk 不打印

c# - 在哪里存储可编辑的配置参数

MySQL 重用变量输出 NULL

c - Linux 中的 Tap 设备无法正确传递 ARP/IP 数据包?

c++ - 如何使用混音器 api 在 Windows 7 中控制主混音器音量?

C - 在代码中定义应用程序版本

php - 测试 CodeIgniter session 变量的正确方法是什么?

swift - 变量之间的差异

java - 编程变量问题(java)