java和c ++中的一元运算符

joa*_*oao 1 c++ java unary-operator

可能重复:
任何人都可以解释这些未定义的行为(i = i ++ + ++ i,i = i ++等...)
Java和C++运算符之间有什么区别吗?

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

看一下这个:

int i = 1;
i = i++ + ++i;
print i  (with cout or println)
Run Code Online (Sandbox Code Playgroud)

java中:打印4

c ++中:打印5

为什么?

aio*_*obe 9

在C++中,诸如的语句的行为i = i++ + ++i;实际上是未定义的,因此行为不同的事实并不令人惊讶.

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

相关问题:

  • Java _actually_指定此表达式的值,其中C++将其留给编译器. (5认同)