forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Болтовня (http://forum.boolean.name/forumdisplay.php?f=25)
-   -   ломаю моск! (http://forum.boolean.name/showthread.php?t=4595)

dimanche13 27.09.2007 16:37

ломаю моск!
 
Не знаю было ли здесь это, но тем не менее это пролетало на башорге.
Код:

int i = 5;
i = ++i + ++i;
cout<<i;

ответ 14, на С++ ,на C# php и java 13 ???
может кто знает почему?

IGR 27.09.2007 16:56

Re: ломаю моск!
 
а это на чём ??

johnk 27.09.2007 16:59

Re: ломаю моск!
 
В C# нету cout :-D
А вообще, что это еще за:
Цитата:

int = 5;
Никогда такого не видал :)

PaKo 27.09.2007 16:59

Re: ломаю моск!
 
dimanche13 там вся фишко в разнице ++i и i++:
++i : сначала увеличивается на 1.
i++ : увеличивается потом.

Попробуй:
<code>
int = 5;
i = i++ + i++;
cout<<i;
</code>

Поидее ответы должны быть одинаковы.

2ALL, в чём разница между Visual C++ и С++ Builder?

IGR 27.09.2007 17:09

Re: ломаю моск!
 
Цитата:

2ALL, в чём разница между Visual C++ и С++ Builder?
Microsoft и Borland !!

dimanche13 27.09.2007 17:10

Re: ломаю моск!
 
JohnK, да я лол, исправил ))) у мя C# -нету попробовать негде...
PaKo
"++i : сначала увеличивается на 1.
i++ : увеличивается потом."
это я знаю, тем более это применяется только в условных операторах. которых здесь нет.
тогда ++i = 6
(++i) второй ++6 = 7
6 + 7 = 13(! по идее) , а в С++ CodeBlocks сам проверял - 14

IGR 27.09.2007 17:13

Re: ломаю моск!
 
dimanche13, там оно какойто плюс 2 раза пощитало !!

PaKo 27.09.2007 17:16

Re: ломаю моск!
 
Цитата:

Microsoft и Borland !!
я имею в виду по синтаксису они отличаются? А то опыт работы на С++ Builder у меня есть, хочу взглянуть на Ogre, а там Visual C++.

IGR 27.09.2007 17:18

Re: ломаю моск!
 
Цитата:

я имею в виду по синтаксису они отличаются?
там больше сходностей чем отличий !!
так что при изучении проблем не должно быть !! :)

johnk 27.09.2007 17:22

Re: ломаю моск!
 
Почему 14? Ну С++ же, ёпт :))
Блин, тоже не понимаю почему :)

moka 27.09.2007 17:23

Re: ломаю моск!
 
Там получается он изменяет сперва переменную, и только потом складывает уже изменённые. А в других всё делает сразу.

IGR 27.09.2007 17:24

Re: ломаю моск!
 
Цитата:

Почему 14? Ну С++ же, ёпт
Отжог !! :)

johnk 27.09.2007 17:27

Re: ломаю моск!
 
Все, допер :-D
++i + ++i - это означает, что i автоматом 7ой становится)))
ибо первое инкрементирование - 6, второе - 7, в итоге сумма 7ок

alcoSHoLiK 27.09.2007 18:30

Re: ломаю моск!
 
Не знаю, как в C#, но 14 - правильный результат. Сначала выполняются операции более высокого приоритета, т.е. два раза ++i. После этого производится суммирование 7 + 7.


Часовой пояс GMT +4, время: 14:03.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot