作者winsummer (winsummer)
看板java
標題[問題] int i =1;i+(i++)+(i++)=4!?
時間Wed Mar 24 00:39:14 2010
想請教一個問題
在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
1F:→ ogamenewbie:為什麼要像 C++ 一樣? Java 有自己的 Language Spec. 03/24 00:40
3F:→ winsummer:那請問JAVA的i++要怎麼解釋 03/24 00:43
4F:推 ducksteven:說不定parsing tree 根本不一樣 03/24 00:50
6F:→ ogamenewbie: tml/expressions.html 03/24 00:54
7F:→ ogamenewbie:裡面的 15.7 跟 15.14.2 03/24 00:54
8F:→ winsummer:HAHA 感謝ogamenewbie, 了解啦 03/24 01:11
9F:→ akasan:C/C++中這個較未定義行為 03/24 09:21
10F:→ freesamael:你對C++的理解也是錯的,未定義行為結果決定於編譯器 03/24 10:05
11F:推 tomin:為什麼不是5? 03/24 11:20
12F:推 tomin:沒有assign呀 那怎麼是4.. 03/24 11:23
13F:推 tomin:是不是 1+(1)+(2)呀 03/24 12:07