Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/showflat.php?Number=6136854&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Tue Apr 12 19:58:41 2016
Кодировка: Windows-1251
[humor] Задачка для 40-летнего одмина - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
Technical >> Development (Archive)

Страницы: 0 | 20 | показать все
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
 

Я их местами перепутал.




Ecchi nano wa ikenai to omoimasu!
==Media.Anime==
Страницы: 0 | 20 | показать все

Technical >> Development (Archive)

Дополнительная информация
0 зарегистрированных и 0 анонимных пользователей просматривают этот форум.

Модераторы:  DarkGray 

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в