推 cjcat2266:是不是因為兩種語言的operator precedence不一樣? 02/02 00:47
推 y2k27:是哪間公司這麼優秀考這個? 02/02 03:13
→ y2k27:我猜有side effects發生 結果視平台實作而定 沒有標準答案 02/02 03:13
→ fishforpt:是學校喔 不是公司 成大資管所 02/02 03:33
> -------------------------------------------------------------------------- <
作者: oohay (五黑) 看板: C_and_CPP
標題: Re: [問題] 面試遇到的一個問題
時間: Sat Feb 2 00:55:46 2008
※ 引述《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明定由左邊運算元先取值.
--
→ 鄉民A:灌C可以搞阿嬌啊?
推 鄉民B:我的Visual C++光碟哪裏去了?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.228.219
※ 編輯: oohay 來自: 59.112.228.219 (02/02 00:56)
→ oohay:似乎我講的是錯的...囧 02/02 01:14
推 vvana:簽名檔是對的 02/02 01:21