这个问题已经在这里有了答案:




已关闭8年。






为什么一元运算符在c++和java中给出不同的结果?

看一下这个:

int i = 1;
i = i++ + ++i;
print i  (with cout or println)

中Java :打印 4

中c++ :打印 5

为什么呢

最佳答案

在C++中,诸如i = i++ + ++i;之类的语句的行为实际上是 undefined ,因此行为不同的事实并不令人惊讶。

实际上,如果两个不同的C++编译器对C++语句i = i++ + ++i;产生不同的行为,也就不足为奇了。

相关问题:

  • Why are these constructs (using ++) undefined behavior?
  • When exactly is the postfix increment operator evaluated in a complex expression?
  • 10-06 05:35