精華區beta C_and_CPP 關於我們 聯絡資訊
※ 引述《oohay (五黑)》之銘言: : ※ 引述《fishforpt (游來游去的)》之銘言: : Java: : : System.out.println(z++ + z); : C: : : printf("%d ", z++ + z); : : 同樣的寫法為什麼 : : java會出來 0 0 -1 0 : ^^ : : c卻跑出來 0 0 -2 0 : ^^ : 不是operator precedence不一樣. : 而是對加號來說,哪邊運算元先取的差異. : C並不定義加號的哪個運算元先取值,但Java明定由左邊運算元先取值. http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html 再查一下Java spec,目錄15.7 Evaluation Order的前子目二似乎說明了一切: 15.7.2 Evaluate Operands befor Operation -- 鄉民A:灌C可以搞阿嬌啊?
鄉民B:我的Visual C++光碟哪裏去了?
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.112.228.219