n += m++ 等價於以下序列:
n += m; // 使用 m 當前值
m++; // 然後 m 自增
後置遞增 m++ 的副作用(修改 m)在當前完整表達式結束前完成,但返回值是舊值。+= 運算符右運算元求值為舊值 m。
n += ++m; // 等價於 m++; n += m;
前置遞增先修改 m,再參與加法。
若同一變量在無序列點間多次修改(如 a = a++ + ++a),行為未定義。現代編譯器會警告,嚴禁在生產代碼中使用。
-Wall -Wextra 或 /W4)。