這聽起來很瘋狂,但我很想知道是否可以使用單個指令來修改兩個不同變量的值。 例如,假設我有此代碼(x和y是INT變量):雙指派單指令
if(x < 0) {
y -= x ;
x = 0;
}
如果x等於-1,我會獲得通過執行以下操作相同的結果:
if(x < 0) y -= x++;
有沒有辦法推廣以前的結果?我嘗試過這樣的指令:
if(x < 0) y -=x-=x;
但是,雖然x在最後等於0,y不會被修改。我錯過了什麼?
編輯
我認爲(我是錯的可能),很明顯,我的問題是純粹的理論。 我知道應該避免這種做法。我只是好奇而已 :)。
可能是因爲這會導致代碼的未來維護者詛咒你永恆,並可能在半夜帶着火焰噴射器和殺人意圖進入你的門。不要編寫這樣可怕的代碼只是爲了節省一些擊鍵。 –