int x = 0;
x^=x || x++ || ++x;
x 最后的答案是 3。 如何分析这个表达式? 对此有点困惑。 非常感谢。
最佳答案
这是未定义的行为。结果可能是任何东西。这是因为没有 sequence point在 ++x
和 x ^=
之间,所以不能保证哪个会先“完成”。
关于c、按位、逻辑表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4810890/
标签 c
int x = 0;
x^=x || x++ || ++x;
x 最后的答案是 3。 如何分析这个表达式? 对此有点困惑。 非常感谢。
最佳答案
这是未定义的行为。结果可能是任何东西。这是因为没有 sequence point在 ++x
和 x ^=
之间,所以不能保证哪个会先“完成”。
关于c、按位、逻辑表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4810890/