: [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