[問題] int i =1;i+(i++)+(i++)=4!?

看板java作者 (winsummer)時間15年前 (2010/03/24 00:39), 編輯推噓4(409)
留言13則, 6人參與, 最新討論串1/1
想請教一個問題 在JAVA中 int i=1; i+(i++)+(i++) 為什麼是4 而不是像C++那樣 在C++中, int i=1; i+(i++)+(i++) 我理解為 i+i+i 然後i再自加2次 所以答案是3, 但為什麼java是4呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.100.226.129

03/24 00:40, , 1F
為什麼要像 C++ 一樣? Java 有自己的 Language Spec.
03/24 00:40, 1F

03/24 00:42, , 2F

03/24 00:43, , 3F
那請問JAVA的i++要怎麼解釋
03/24 00:43, 3F

03/24 00:50, , 4F
說不定parsing tree 根本不一樣
03/24 00:50, 4F

03/24 00:54, , 6F
tml/expressions.html
03/24 00:54, 6F

03/24 00:54, , 7F
裡面的 15.7 跟 15.14.2
03/24 00:54, 7F

03/24 01:11, , 8F
HAHA 感謝ogamenewbie, 了解啦
03/24 01:11, 8F

03/24 09:21, , 9F
C/C++中這個較未定義行為
03/24 09:21, 9F

03/24 10:05, , 10F
你對C++的理解也是錯的,未定義行為結果決定於編譯器
03/24 10:05, 10F

03/24 11:20, , 11F
為什麼不是5?
03/24 11:20, 11F

03/24 11:23, , 12F
沒有assign呀 那怎麼是4..
03/24 11:23, 12F

03/24 12:07, , 13F
是不是 1+(1)+(2)呀
03/24 12:07, 13F
文章代碼(AID): #1BgEwrGf (java)