为什么最后a的值输出是0

img


虽然我知道a++是先赋值再相加,++a是先相加再赋值。
但就比如说a=++a,我可以理解为等号右边的a先+1,再赋值给等号左边的a( 不知道有没有错误 )。
然而a=a++无法理解,求大家帮忙解答一下,谢谢

你说的很对,a++是先赋值再相加,++a是先相加再赋值。
所以,假如a=1,执行a=++a之后,a的值为2;

假如a=1,执行a=a++之后,a的值为1

明白了嘛

img

对于 a= a++,在不同语言下可能结果不一样。在VS下的C/C++中a是会加1的。可能JAVA中不是这样。