++i + ++i = 12
не найдя в интернете с ходу решил проверить сам, так что не пинайте, если что :b
итак:
i = 5;
i = ++i + ++i;
да-да, в данном случае i будет равняться 12, а не 14, или 13, как некоторые, возможно, подумали, но… на фортране 😉
рабочий код:
program mindfuck integer i i = 5 i = INC (i) + INC (i) print *,i contains function INC (i) INC = i + 1 end function INC end program mindfuck
откомпилировать можно, например, здесь. Важно: перед каждой строкой должна быть одна табуляция!
З.Ы. теперь осталось кому-нибудь провести эксперимент на Brainfuck‘е 😀
19 157 просмотров
14. Сначала вычисляются оба инкремента , а потом уже сумма. То есть к i прибавляется 1, потом еще раз прибавляется 1, а уже затем i + i.
Проверь в Perl или C++.
Прежде чем писать,проверил бы сначало везде, бред ведь.
Четырнадцать будет.
толсто, баттхёрт засчитан. Для людей, с особенными осложнениями зрения приведу еще раз ссылку на компилятор фортрана: http://www.onlinecompiler.net/fortran
1. Заходим по ссылке.
2. В текстовое поле вставляем выше приведенную программу.
3. Расставляем табуляцию перед каждой строкой.
4. Компилируем.
5. Скачиваем исполняемый файл.
6. Запускаем.
7. Собираем челюсть с пола и учимся думать остатками серого вещества перед тем как писать глупые комментарии в чужих уютненьких бложеках.
Восьмая строка: INC = i + 1
Функция INC только возвращает сумму i+1, сама переменная i не изменяется. Разве инкремент не должен менять значение самой переменной i?
Да, автор поста налажал. Чтобы инкрементило, надо так:
program mindfuck
integer i
i = 5
i = INC (i) + INC (i)
print *,i
contains
function INC (i)
i = i+1
INC = i
end function INC
end program mindfuck
Возвращает 13.