作者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