[問題] 結合運算的問題

看板C_and_CPP (C/C++)作者 (這就是人生嗎)時間16年前 (2009/10/06 10:51), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
今天看到一個問題 a = b + ( c = d/b++ ) - 1 c = d/b 會先執行沒錯, 想請問 一開始的 b 會先取值出來嗎? 還是會被後來的 b++ 所影響呢? 就是假設 b++ = temp; a = b + c - 1 還是 a = temp + c -1 呢 我實際run過是前者,不過想請問一 下理由,謝謝。 我有去看過十誡之九,當然自己寫程式不太會這樣寫, 不過在書上看到了,想說實際來試試看,編譯可以過,結果是前者, 所以才來請教大家一下,謝謝嚕 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.103.214

10/06 10:56, , 1F
undefined...置底十誡之九
10/06 10:56, 1F
※ 編輯: freewhat 來自: 59.120.103.214 (10/06 11:03)

10/06 11:12, , 2F
啊就是 undefined 呀... 編譯可以過不代表就是正確的
10/06 11:12, 2F

10/06 11:12, , 3F
理由就是沒定義過, 剛好你的 compiler 用前者~
10/06 11:12, 3F

10/06 11:12, , 4F
但也不保證以後會不會變後者
10/06 11:12, 4F

10/06 11:49, , 5F
喔喔 了解了 謝謝
10/06 11:49, 5F
文章代碼(AID): #1Aoh35Pd (C_and_CPP)
文章代碼(AID): #1Aoh35Pd (C_and_CPP)