→ shrekwang:眼殘,找到了,第 8 戒...... 10/13 15:32
推 stupid0319:我眼殘了,找不到錯在哪 10/13 15:36
→ ericinttu:為什麼要給人腦編譯器高度挑戰呢? 10/13 15:39
→ shrekwang:錯在呼叫兩個 sub_Function 的地方; 10/13 15:54
推 stupid0319:那錯在哪呢,我一直看不出來>"< 10/13 15:58
→ yauhh:這行並沒有改變數二次. 這行的問題是在執行順序沒有定義 10/13 16:02
推 purpose:還是原PO你貼的程式碼部份根本不是錯的地方?你應該貼出 10/13 16:48
→ purpose:那兩個函數的內容 10/13 16:49
推 linjack:錯在同一個 sequence point 區間內對變數又寫又讀 10/13 17:06
→ linjack:無法保證 a 的結果。用 gcc4 開 -Wall 的話會跳 warning 10/13 17:07
推 purpose:瞭解,可是 Segmentation fault 應該是出錯時的訊息,未定 10/13 17:08
推 linjack:第八誡中提到當然你不該對其值修改一次以上, 10/13 17:09
→ purpose:義行為,不一定導致程式錯誤,通常是結果錯誤? 10/13 17:09
→ linjack:但其實又讀又寫各一次意思是雷同的,無法保證誰先執行到 10/13 17:09
→ linjack:進而無法保證這整段程式的結果正確性。 10/13 17:09
→ linjack:確實他這段 code 會 seg fault 可能有其他原因 10/13 17:10
→ linjack:但是單就讀 a 又 a++ 這段的「未定義行為」,本來就有可能 10/13 17:11
→ linjack:會造成 seg fault,因為什麼都有可能發生,你不能猜測 10/13 17:11