精華區beta C_and_CPP 關於我們 聯絡資訊
※ 引述《StubbornLin (Victor)》之銘言: : 讀時還得翻書查運算順序的程式碼,根本就大大的違反這樣的原則 : 我個人都一直這樣認為,運算順序根本就沒背的必要 : 只要知道有這樣的規則就好,想先算的就管它三七二十一全部括起來 是否刮起來就好了呢? #include <stdio.h> int main() { int z = -1; printf("%d\n", z++ + z); z = -1; printf("%d\n", (z++) + z); } /* Output: | -2 | -2 */ 在C語言規格中,有類似Java那樣可確定哪個sub-expression先算的方法嗎? -- 鄉民A:灌C可以搞阿嬌啊?
鄉民B:我的Visual C++光碟哪裏去了?
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.160.114.86
StubbornLin:沒有 ++括起來沒用吧 我記得c++沒規定說 02/03 19:53
StubbornLin:++那個+1的動作要啥時執行 02/03 19:54
StubbornLin:我說的不管三七二十一括起來是二元運算 02/03 19:54
StubbornLin:單元的如果寫在一起不好懂 寧可拆成兩行 02/03 19:54
oohay:「++什麼時候執行」這事規格沒寫到,或是標明未定義呢? 02/03 19:55
StubbornLin:我記得是未定義的樣子 所以才造成行為未定義 02/03 19:59
freesamael:c99有明確定義,c++標準寫得比較不清楚 02/03 20:46