精華區beta C_and_CPP 關於我們 聯絡資訊
: [ISO C99, 6.5.2.4 Postfix increment and decrement operators] : The side effect of updating the stored value of the operand shall occur : between the previous and the next sequence point. : 標準說這動作在兩個 expression 之間完成。 : 我也很想知道是哪間公司出這種題目。 前恕刪 先回應板大的重點問題 這是成大資管所問的 ^^" 基本上由上回文我的理解如下 不知是否有誤 首先在程式的第三行 (Z++ + Z) 以C來講 以上一行所得Z=-1引入後 Z++會在segment結束後才做運算 而之後的 + Z也因此Z還是等於 -1 所以會print -2 而重點也就落在對Java來說 是否也同樣 System.out.println(z++ + z); 假設他是將整個運算域做完運算再給值print 那麼第三行就變成 z=z+1 + -1 結果也將一如所示print -1 出來 但這樣的算法不就等同於 (++z + z)嗎? 而很明顯似乎並不是這麼運算的 從第一行的++z與第二行的z-- 得知java的postfix operators 也是在結束segment才做運算 因此假設便失敗了 到底java的第三行.........發生了什麼事........... 結果我還是沒有理解......... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.160.134