外什么int x = 0;? ? printf("x=%d\n",x++);? ? printf("x=%d\n",++x);? ? return 0;這里的x++輸出為0,而在while語句里,a++表示數字增加1???????我真的想說,自增自減運算符,你永遠都是我的噩夢?。?!
2 回答

onemoo
TA貢獻883條經驗 獲得超454個贊
x++ 是后置自增,在第一個printf中取x++的值就是x當時的值,所以打印出0。在語句結束后,x的值是x+1。
++x 是前置自增,在第二個printf中取++x的值就是x+1,所以會打印出2。
如果代碼中有 a++; 這樣的語句,那么在這語句結束后,a肯定是自增1的。
另外,如果單純只是為了讓變量自增,最好使用前置自增形式。后置自增由于涉及到臨時變量,可能會有性能損失。
添加回答
舉報
0/150
提交
取消