这是初学者很容易迷惑的地方.你这个写法虽然不会报错,但是不规范.变量x没有结果,运行出来应该是11而不是10.若改成x=x++; 运行出来才是10.为什么呢?当你写成x=++x;时,实际上是x先++,再把x++附值给x,最终x==11;当你写成x=x++;时,实际上先执行的是x附值给x,再把x++,不过最后返回的x值是x++前的x,所以x==10;一般来说写成++x或x++就行了,加个x=会使人迷惑.