c語言中i++,++i怎麼運算的?
為什麼輸出這樣,有沒有大佬詳細講一下
int i = 1;
int j = i ++ ;//j的值是1,i的值是2
i = 1;
int k = ++i;//i的值是2,j也是2
譚浩強書看多了吧
這是毫無意義的偽問題
自己搜一下什麼叫undefined behavior
更簡單看懂
int i=5
++i是先用5+1=6運算,...6+1........
i++是先用5運算,然後下一輪變成++i
然後得
++i=6
i++=5
沒有什麼意義,結果都是+1。
贊同 wyxsdzz 的觀點。
不過還是解釋一下吧,有些編譯器參數從右向左計算。
我明白了,結合方式自右向左,輸出函數整體運行時,i值才變化
推薦閱讀: