|
|
|
Инкремент. Префиксная и постфиксная форма.
|
|||
|---|---|---|---|
|
#18+
Привет камрады. Вопрос нубский. Ответа пока нигде не нашел. Скажите пожалуйста почему такой код возвращает 4 Код: java 1. 2. 3. а такой 2.... Код: java 1. 2. 3. можно было бы предположить, что в первом варианте он сперва положил 0 в стек. затем для каждого инкремента сделал его увеличение на 1 в итоге 1+1+1+1 = 4. но что пошло не так во втором то примере? PS i=1 + i++ + i++ + i++ + i++; (= 7. ваще ни в какие рамки. где логика и есть ли она?))) PSS разницу i=i++ vs i=++i понимаю, для простых примеров. Но не могу понять как это работает в выражениях (кроме матерных). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 21:42 |
|
||
|
Инкремент. Префиксная и постфиксная форма.
|
|||
|---|---|---|---|
|
#18+
Вот во что превращается ваш код при выполнении: Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 21:52 |
|
||
|
Инкремент. Префиксная и постфиксная форма.
|
|||
|---|---|---|---|
|
#18+
Стручонак Код: java 1. 1 + 0 + 1 + 2 Стручонак Код: java 1. 1 + 0 + 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 22:00 |
|
||
|
Инкремент. Префиксная и постфиксная форма.
|
|||
|---|---|---|---|
|
#18+
wadmanСтручонак Код: java 1. 1 + 0 + 1 + 2 Стручонак Код: java 1. 1 + 0 + 1 Поправил. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 22:01 |
|
||
|
Инкремент. Префиксная и постфиксная форма.
|
|||
|---|---|---|---|
|
#18+
DEVcoach, а почему? вот например откуда там 0? выглядит так словно он начал справа налево инкрементировать. причем крайнее правое выражение тупо проигнорил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 22:01 |
|
||
|
Инкремент. Префиксная и постфиксная форма.
|
|||
|---|---|---|---|
|
#18+
Стручонаквот например откуда там 0? Стручонак Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 22:03 |
|
||
|
Инкремент. Префиксная и постфиксная форма.
|
|||
|---|---|---|---|
|
#18+
Стручонак, кажется понял. 1+i++ это выражение, в котором он сперва сделал 1+0(это начальное i), а затем в никуда провел операцию инкремента по отношению в результату выражения, а не к переменной i. Затем уже все гладко пошло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 22:04 |
|
||
|
Инкремент. Префиксная и постфиксная форма.
|
|||
|---|---|---|---|
|
#18+
Стручонак1+i++ это выражение, в котором он сперва сделал 1+0(это начальное i), а затем в никуда провел операцию инкремента по отношению в результату выражения, а не к переменной i. Затем уже все гладко пошло. Не "в никуда", а к i . 1 + i =0, к которой прибавил 1 для последующей операции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 22:05 |
|
||
|
Инкремент. Префиксная и постфиксная форма.
|
|||
|---|---|---|---|
|
#18+
wadmanк которой прибавил 1 для последующей операции. если так то почему тогда для такого фрагмента i=1 + i++ + i++ + i++; 1+0+1+2 а не 1+0+2+3 ведь у нас в момент для 2-го выражения инкремента i уже увеличена на 1. или здесь опять повлияла постфиксная форма, в которой он сперва сделал операцию сложения с имеющимся значение в i? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 22:15 |
|
||
|
Инкремент. Префиксная и постфиксная форма.
|
|||
|---|---|---|---|
|
#18+
Стручонакили здесь опять повлияла постфиксная форма, в которой он сперва сделал операцию сложения с имеющимся значение в i? Сначала операция перед переменной, затем - после. В данном случае. Код: java 1. 2. 3. 4. i = 0 + 0 + (0+1); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 22:20 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2127188]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
9ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 463ms |

| 0 / 0 |
