无用条件下的可变修改

时间:2012-11-24 12:38:13

标签: c variables

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

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

1 个答案:

答案 0 :(得分:11)

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

请参阅Avoiding the execution of second expression's side effects