我纠结的是x=0时,x++和++x为什么一个值为0,一个值为2
x++是先取值后运算,那么 printf("x=%d\n",x++);这时候先取x的值是0就直接输出x的值,所以它输出的值就是0。取到值以后的运算并不影响到这个输出语句。
++x是先运算后取值,上一个输出语句printf("x=%d\n",x++);运算后x=1,那么现在就是在x=1的基础上运算再取值,所以x又自增1了,即1+1,这时候的printf("x=%d\n",++x);就输出了2。