推 LPH66:這個倒不會 這是因為 = 被規定為右結合的關係 12/15 15:05
→ LPH66:那個例子之所以會錯是因為我們無法正確得知對 a 的設值取值 12/15 15:06
→ LPH66:的順序的關係 和 ^= 是右結合並沒有關係 12/15 15:06
→ LPH66:a^=b^=a^=b; 的實際運算依然是由右至左 只是我們無法確定 12/15 15:07
→ LPH66:那個 a 的新值什麼時候進去 12/15 15:07
→ LPH66:而這個情形裡並沒有任何一個動作的順序和結果有關 12/15 15:08
→ LPH66:所以 a=b=c=d; 是安全的 12/15 15:08
→ iamstudent:感謝。所以重點是取值與設值的順序 12/15 16:43
→ iamstudent:那麼a+=b+=c+=d;應該也是安全的 12/15 16:44
推 ericinttu:有順序性跟沒有順序性的指令... 12/15 17:22
→ diabloevagto:還是別玩這些東西搞自己比較實在 12/16 00:24
→ xatier:不能同意樓上更多 12/16 06:09
→ Favonia:建議不用花太多心思在這裡,因為陷阱多到學也學不完... 12/16 09:54
→ Favonia:如果有簡單又安全的寫法,就用簡單又安全的寫法吧。 12/16 09:54
→ iamstudent:我的想法比較不一樣吧,如果是未定義 12/16 15:02
→ iamstudent:我會希望能回答出這是未定義,而不是回答我不會這樣寫 12/16 15:03
推 ericinttu:你是主考官嘛? "我會希望能回答出這是未定義" 12/16 16:07