|
|
|
i=5; i= ++i + ++i; 13 или 14 и почему???
|
|||
|---|---|---|---|
|
#18+
Добрый день, есть такой вопрос, i = 5; i = ++i + ++i; В итоге и в JDeveloper и в C# получается i = 13. А почему, как отрабатывает подсчет этого выражения? З.Ы. Я знаю что выражениях использовать ++ не рекомендуется)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 00:18:55 |
|
||
|
i=5; i= ++i + ++i; 13 или 14 и почему???
|
|||
|---|---|---|---|
|
#18+
++ это нормальный оператор, но не следует их целую кучу писать в одном выражении, от этого код становиться не очень понятный. Если интересуют Java Puzzlers то можно тут посмотреть: JavaPolis2004 JavaPolis2005 PS: на JavaPolis еще много интересного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 07:02:30 |
|
||
|
i=5; i= ++i + ++i; 13 или 14 и почему???
|
|||
|---|---|---|---|
|
#18+
кстати это выражение совсем простое (на вид) ++i - префиксный инкремент (выполняется до) i++ - постфиксный инкремент (выполняется после) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 07:12:16 |
|
||
|
i=5; i= ++i + ++i; 13 или 14 и почему???
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. зы учите матчасть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 10:01:42 |
|
||
|
i=5; i= ++i + ++i; 13 или 14 и почему???
|
|||
|---|---|---|---|
|
#18+
потому что аргумент передается по значению в С++ по ссылке, поэтому в C++ должно быть 14, хотя зависит от компилятора, на некоторых компиляторах 13 получается как в джава. тема начата на башорге месяц назад примерно, поищите, полно подробных описаний в нете и в жж по этому вопросу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 10:27:03 |
|
||
|
i=5; i= ++i + ++i; 13 или 14 и почему???
|
|||
|---|---|---|---|
|
#18+
Спор wrote: > i = 5; > i = ++i + ++i; > > В итоге и в JDeveloper и в C# получается i = 13. > > А почему, как отрабатывает подсчет этого выражения? А почему нет? Загрузили ++i в стек (6), загрузили ++i в стек (7), сложили. > З.Ы. Я знаю что выражениях использовать ++ не рекомендуется)) Тогда реши такую задачу: i += ++i + ++i; -- Алексей Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 11:04:20 |
|
||
|
i=5; i= ++i + ++i; 13 или 14 и почему???
|
|||
|---|---|---|---|
|
#18+
sommerпотому что аргумент передается по значению в С++ по ссылке, поэтому в C++ должно быть 14, хотя зависит от компилятора , на некоторых компиляторах 13 получается как в джава. Ответ конечно достойный, но неправильный. Всем заинтресованным относительно C++ идти на rsdn.ru, курить форум по C/C++, там эта тема и подобные примеры в разнообразных вариациях неоднократно обсуждались, это неопределенное поведение. В качестве параметров поиска можно указать "точки следования" . Например: здесь и здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 11:06:51 |
|
||
|
i=5; i= ++i + ++i; 13 или 14 и почему???
|
|||
|---|---|---|---|
|
#18+
это же баян древний. этот пассаж развеселил: [quote ...] В итоге и в JDeveloper и в C# получается i = 13. [/quote] Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 11:39:45 |
|
||
|
i=5; i= ++i + ++i; 13 или 14 и почему???
|
|||
|---|---|---|---|
|
#18+
chp sommerпотому что аргумент передается по значению в С++ по ссылке, поэтому в C++ должно быть 14, хотя зависит от компилятора , на некоторых компиляторах 13 получается как в джава. Ответ конечно достойный, но неправильный. Всем заинтресованным относительно C++ идти на rsdn.ru, курить форум по C/C++, там эта тема и подобные примеры в разнообразных вариациях неоднократно обсуждались, это неопределенное поведение. В качестве параметров поиска можно указать "точки следования" . Например: здесь и здесь прочитал, но так и не понял почему мой коммент не правильный. или часть поста, а не весь мой пост? не понял где не правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 12:06:01 |
|
||
|
i=5; i= ++i + ++i; 13 или 14 и почему???
|
|||
|---|---|---|---|
|
#18+
sommerпрочитал, но так и не понял почему мой коммент не правильный. или часть поста, а не весь мой пост? не понял где не правильно Потому что поведение зависит не от компилятора, а от пятен на солнце. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 12:23:03 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=632&tid=2145463]: |
0ms |
get settings: |
18ms |
get forum list: |
29ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
53ms |
get topic data: |
26ms |
get forum data: |
6ms |
get page messages: |
88ms |
get tp. blocked users: |
3ms |
| others: | 337ms |
| total: | 576ms |

| 0 / 0 |
