Gluk
|
Титаник форума
|
|
|
|
Рег.: 20.08.2003
|
Сообщений: 15010
|
Из: В-945Л
|
Рейтинг: 1772
|
|
Re: [humor] Задачка для 40-летнего одмина
[re: KOHTPA]
16.05.2007 20:49
|
|
|
C - язык программирования
--- я знаю правду, все прочие правды знает кохтпа
|
Glück, Geld und Genialität |
|
Bachan
|
god's pee
|
|
|
|
Рег.: 26.10.2002
|
Сообщений: 37551
|
|
Рейтинг: 5335
|
|
Re: [humor] Задачка для 40-летнего одмина
[re: Gluk]
16.05.2007 23:05
|
|
|
|
я АЭС фачил в эсс! |
|
maxkar
|
enthusiast
|
|
|
|
Рег.: 19.10.2003
|
Сообщений: 291
|
|
Рейтинг: 15
|
|
Re: Задачка для 40-летнего одмина
[re: Storm]
17.05.2007 00:06
|
|
|
В ответ на:
в Java - 14,
Наглая ложь:
code:
public class add {
public static void main(String [] args) {
int i = 5;
i = ++i + ++i;
System.out.println(i);
}
}
Дает 13, как и положено по спецификации:
JLS, 3rd:
5.7.1 Evaluate Left-Hand Operand First The left-hand operand of a binary operator appears to be fully evaluated before any part of the right-hand operand is evaluated. For example, if the left-hand operand contains an assignment to a variable and the right-hand operand contains a reference to that same variable, then the value produced by the reference will reflect the fact that the assignment occurred first. ....
15.15.1 Prefix Increment Operator ++ A unary expression preceded by a ++ operator is a prefix increment expression. The result of the unary expression must be a variable of a type that is convertible (5.1.8) to a numeric type, or a compile-time error occurs. The type of the prefix increment expression is the type of the variable. The result of the prefix increment expression is not a variable, but a value.
At run time, if evaluation of the operand expression completes abruptly, then the prefix increment expression completes abruptly for the same reason and no incrementation occurs. Otherwise, the value 1 is added to the value of the variable and the sum is stored back into the variable. Before the addition, binary numeric promotion (5.6.2) is performed on the value 1 and the value of the variable. If necessary, the sum is narrowed by a narrowing primitive conversion (5.1.3) and/or subjected to boxing conversion (5.1.7) to the type of the variable before it is stored. The value of the prefix increment expression is the value of the variable after the new value is stored.
Процитировал 3-ю спецификацию. Во второй - абсолютно то же самое.
Ну и при увеличении количества ++i будет 21, 30 и т.д. соответственно.
|
|
ksa
|
Умка
|
|
|
|
Рег.: 04.10.2006
|
Сообщений: 14535
|
Из: где-то на белом свете
|
Рейтинг: 7761
|
|
Re: [humor] Задачка для 40-летнего одмина
[re: Bachan]
17.05.2007 00:09
|
|
|
Видел где-то всякие ++i-- и вариации с кучей плюсов и минусов спереди и сзади.
А еще написать в TeXовских обзначениях степень n^m и скормить это в c++.
|
|
Kayak
|
|
|
|
|
Рег.: 22.10.2004
|
Сообщений: 2432
|
|
Рейтинг: 1098
|
|
Re: [humor] Задачка для 40-летнего одмина
[re: YOжиk]
17.05.2007 13:09
|
|
|
Кстати, а на том же башорге проскакивало в Бездне объяснение какого-то чувака, все просто:
В ответ на:
int i = 5; i = ++i + ++i;
дает на С++ 14, а на РНР 13, потому что у них РАЗНЫЕ СИСТЕМЫ ПРИОРИТЕТОВ, РАЗНЫЙ СИНТАКСИС МАТЕМАТИКИ, и это все есть в ДОКУМЕНТАЦИИ.
В С++ пред-инкремент выполняется, как и положено пред-инкременту, ДО вычисления выражения: 1) прибавить единицу к i 2) прибавить единицу к i 3) получить левое слагаемое 4) получить правое слагаемое 5) сложить оба
В РНР пред-инкремент - это просто операция с высоким приоритетом. Кстати, из-за этого уродства приобретает важное значение то, которая из не связанных между собой больше ничем операций одинакового высокого приоритета выполняется первой - совершенно дикая архитектура.
1) прибавить единицу к i 2) получить левое слагаемое 3) прибавить единицу к i 4) получить правое слагаемое 5) сложить оба
Вот так. Учите матчасть, самоучки, читайте доки, а бугогайствовать все умеют.
|
|
Rammstein
|
sir
|
|
|
|
Рег.: 08.11.2003
|
Сообщений: 1144
|
Из: рамштайния
|
Рейтинг: 171
|
|
Re: [humor] Задачка для 40-летнего одмина
[re: Kayak]
17.05.2007 13:19
|
|
|
по поводу с++ чувак отжог
|
Optics rulez 4ever |
|
Storm
|
:)
|
|
|
|
Рег.: 09.09.2004
|
Сообщений: 3301
|
Из: hane.ru
|
Рейтинг: 132
|
|
Re: Задачка для 40-летнего одмина
[re: maxkar]
17.05.2007 15:44
|
|
|
|