【发布时间】:2011-01-26 22:39:08
【问题描述】:
int x = 0;
x^=x || x++ || ++x;
最后 x 的答案是 3。 如何分析这个表达式? 对此有点困惑。 非常感谢。
【问题讨论】:
-
请参阅:stackoverflow.com/questions/1895922/…(问题假定知道序列点)和stackoverflow.com/questions/4445706/…(请参阅已接受的答案)。不是 exact 重复的,但是这个 UB 在 SO 中被“很好地覆盖”了。
-
另见Undefined Behavior and Sequence Points。它来自“c++-faq”,但仍然普遍适用。
标签: c