2016-03-04 65 views
0

請幫我想出解決這個問題的方法。我嘗試了幾個順序來比賽,但我無法得到正確的答案。每次x的值都是相同的。使用代碼段的比賽條件

enter image description here

這是我試過

enter image description here

+1

先做出努力。你認爲目前發生了什麼? – Takarii

+1

我已經上傳了我嘗試過的方式,即使執行順序發生變化,xs值也是一樣的。 – tishantha

回答

1

假設下一條線不被視爲一個原子操作的方式,可以拆分任何行修改x根據自己的值變成讀取寫入部分。從increase功能,收益率這樣做只爲一個,例如:

y = 5; 
int temporary = x; // read value 
temporary += y; 
x = temporary; // write modified value back 
x++; // this could be split up similarly 
z = /* whatever */; 

有了這個「擴大」的代碼序列,你應該沒有問題,找到不同的結果值的操作序列x