int x = 4;
x += x -= x - x--;
; x -= x - x-- 部分
mov eax, [x] ; eax = 4
sub eax, [x] ; eax = 4 - 4 = 0
mov ecx, [x] ; ecx = 4
sub ecx, eax ; ecx = 4 - 0 = 4
mov [x], ecx ; x = 4
; x += x 部分
mov edx, [x] ; edx = 4
add edx, [x] ; edx = 4 + 4 = 8
mov [x], edx ; x = 8
; x-- 後綴自減
mov eax, [x] ; eax = 8
sub eax, 1 ; eax = 7
mov [x], eax ; x = 7
x = 7
x += (x -= (x - x--));x-- 在減法中使用舊值 4,減法結果 0,x -= 0 仍為 4,x += 4 變 8,最後執行 x-- 變 7。生產代碼嚴禁編寫此類表達式,拆分為多條語句,保證可讀性與可維護性。