求值顺序

← 返回 MOC | ← 主页


这是一个非常经典的**“求生陷阱”**。如果你在面试或者考试中遇到这个题目,最标准的答案不是“先”或“后”,而是:

这是“未定义行为”(Undefined Behavior),绝对不能这么写!

  • 答案: 不确定。在不同环境下结果可能不同。
  • 专业术语: 在同一个序列点之间,对同一个变量进行了一次修改且多次访问,属于 未定义行为
  • 金律: 永远不要在同一个表达式中让同一个变量既出现在自增/自减符号(++, --)旁,又出现在其他地方。

另外在运算||和&&时,会先算左边的判断一下是否继续,然后可能再算右边


本章小结

111