无用条件下的可变修改

6 c variables

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

if (foo == 13 && ++bar > 42)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

Pav*_*hov 11

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

请参阅避免执行第二个表达式的副作用.