++i(前綴):**先遞增,再取值**參與運算;i++(後綴):**先取值,再遞增**;++i; / i++;)效果完全相同。int i = 3, a; a = i++ + 1; // a = 3 + 1 = 4,i 變 4 a = ++i + 1; // i 先變 4,a = 4 + 1 = 5
printf("%d %d", i++, i); // 輸出順序**未定義**(編譯器決定求值順序)
a = i + ++i; // 同一變數在無序列點修改兩次 → **未定義行為**
規則:同一表達式中,**同一變數最多修改一次**,且讀取必須為了計算該修改的新值。
++i(習慣性能微優化,避免臨時變數);