WildSery пишет:

напрмер говорят что в C++: int i = 5; int j = ++i + ++i; j == 14, а нодо бы 13 
- сам не проверял
Всё правильно, 14.
Префиксные плюсы отрабатывают до вычисления выражения.

Хм. Java так не думает. :)
Промежуточный результат подставляется в выражение. То бишь j = 6 + 7.

Java
====
public class PlusPlusTest
{
   public static void main(String[] args)
   {
     int i = 5;
     i = ++i + ++i;
     System.out.println(i);
   }
}

C:\j2sdk1.4.2_10\bin>javac.exe PlusPlusTest.java
C:\j2sdk1.4.2_10\bin>java PlusPlusTest
13

JScript
=======
var i = 5;
i = ++i + ++i;
WScript.Echo(i);

C:\>cscript PlusPlusTest.js
Сервер сценариев Windows (Microsoft (R) ), версия  5.1 для Windows
(C) Корпорация Майкрософт 1996-1999. Все права защищены.
13

Ответить