Ваша задача: написать программу, которая должна завершаться, но никогда (в случае сбоя компьютера) этого не происходит. Сделать так, чтобы он выполнял простую задачу: добавление чисел, распечатка чего-либо, ... Но это просто попадает в бесконечный цикл.
Постарайтесь сделать вашу программу очень понятной и простой, в то время как она фактически застрянет в непредвиденном цикле. Избиратели: судите ответы, насколько они "закулисны"!
Это конкурс популярности: будь креативным!
popularity-contest
underhanded
Number9
источник
источник
Ответы:
Javascript
источник
raw_input
или Python 3,input
вызывает aTypeError
.+
оператор здесь - это конкатенация строк, а не сложение.С
Просто базовый пример программы, которая иллюстрирует три различных типа циклов while в C.
источник
(x --> 0)
JavaScript
источник
alert
после цикла.a = 1
наa = true
. Код все еще будет иметь бесконечный цикл таким образом, но будет более понятно, что причина не в некоторой причуде в преобразовании JavaScript из int в логические значения.C #
источник
l
это должно выглядеть как1
! Я тупой. : \С
Как насчет точности?
источник
HTML / JavaScript
Представьте, что у вас есть поле ввода на вашей странице:
А теперь вы хотите что-то набрать в нем ... Попробуйте в Chrome: http://jsfiddle.net/jZp4X/ .
источник
C ++
источник
g++
не буду предупреждать вас об этом без них.-Wall --pedantic
любом случае.-Wsign-compare
который может быть включен с-Wextra
.удар
(Был запрос на отсутствие циклов или рекурсии)
источник
bash
памяти и вылетаетyes
это просто программа coreutils. Не системный вызов.С
Буква "х" была потеряна в файле. Программа была написана, чтобы найти это:
Он был скомпилирован и запущен, и наконец он кричал:
В течение многих лет письма спасались таким образом, пока не пришел новый парень и не оптимизировал код. Он был знаком с типами данных и знал, что лучше использовать без знака, чем со знаком, для неотрицательных значений, поскольку он имеет более широкий диапазон и обеспечивает некоторую защиту от переполнения. Таким образом, он изменил int на unsigned int . Он также знал ASCII достаточно хорошо, чтобы знать, что они всегда имеют неотрицательную ценность. Таким образом, он также изменил char на unsigned char . Он скомпилировал код и пошел домой, гордясь хорошей работой, которую он сделал. Программа выглядела так:
Он вернулся в хаос на следующий день. Буква «а» отсутствовала, и, хотя она должна была находиться в файле «desert_file», содержащем «abc», программа искала его навсегда, распечатывая только:
Они уволили парня и откатились к предыдущей версии, вспомнив, что нельзя оптимизировать типы данных в рабочем коде.
Но какой урок они должны были извлечь здесь?
PS. Программа была построена вокруг ошибки, упомянутой в языке сборки ПК Полом А. Картером
источник
Regex
При соответствующем вводе следующее регулярное выражение может привести к тому, что большинство движков обратного отслеживания попадут в ад обратного отслеживания:
Простого ввода, такого как
"Programming Puzzles and Code Golf Stack Exchange - Mozilla Firefox"
или"AVerySimpleInputWhichContainsAnInsignificantSentence."
(обе строки приведены для ясности), достаточно для того, чтобы большинство движков обратного отслеживания работало в течение длительного времени.источник
JavaScript
источник
Haskell
Ну, подумай об этом! Это было бы так же, как
head $ "Hello" ++ (repeat '!')
, то есть должно просто вернуться'H'
.источник
Java под Windows
источник
Чтобы сравнить яблоки и апельсины ... в C
Я впечатлен тем, что здесь нет фрагмента кода, использующего
goto
... (Вы знаете: Goto - это зло! )Сон только для того, чтобы читать его. Нажмите ^ C, если у вас нет бесконечного количества времени, чтобы ждать чего-то, что никогда не происходит ;-)
источник
C, с некоторыми оптимизирующими компиляторами
Эта программа увеличивает целочисленную переменную до тех пор, пока она не переполнится.
источник
int32_t
; 64-битное int займет очень, очень, очень много времени (585 лет, если каждая итерация занимает наносекунду).C ++
Странный стиль комментирования - хитрость. Подсказка: триграфы.
источник
Ява
Мне особенно нравится этот побочный эффект оптимизации автобокса:
источник
= new Integer(0)
, так как вы все равно инициализируете значения впоследствии. (Это может сделать причину менее очевидной.)Рубин / С
Это работает правильно в C , считая от 9 до 1 в STDOUT. При запуске в Ruby он не завершается, потому что
источник
JavaScript
источник
С
Это должно напечатать таблицу кодов для всех символов ASCII, от 0 до 255. A
char
достаточно велик, чтобы перебирать их.источник
printf("%3d %2x: %c", i, i, i);
(для таблицы кода) в вашем цикле.питон
источник
exit
самом деле? Кажется, это класс, но для чего он используется? Вы также можете перейтиprint m
наprint(m)
так, чтобы это также работало с Python 3.@moose
обновленное заявление печати и сообщение спойлераC ++
Как насчет классической C ++ - ловушки программиста?
источник
keepGoing = true
предназначалось для сравнения значенияkeepGoing
, вместо этого оно присваивает значениеkeepGoing
; Кроме того, весь операторkeepGoing = true
оцениваетtrue
(что позволяет вам писать такие вещи, какa=b=c=d=0
), приводя к бесконечному циклу.== true
(или в стиле Йодыtrue ==
) все равно избыточно, и условие должно просто читатьсяwhile (keepGoing)
.Javascript
источник
var a;var points = 0;function fiftyfifty() {points++;if (Math.random() > 0.5)return true;}; á = fiftyfifty(); while (a === undefined) {á = fiftyfifty();} console.log("Points: " + points);
я бы отказался, навсегда удалил это, почистил свой компьютер, возможно, вирусный сканер, просто чтобы быть уверенным, и переписать его полностью. РЕДАКТИРОВАТЬ: Потомуvar a = 0; a = 1;
что не очень реалистичноЯва:
источник
C ++
Немного случайного?
источник
Haskell
Некоторый код на время вычисления заданного значения функции Аккермана. Для очень низких значений это обычно заканчивается. На моей машине очень низкие значения означают что-то вроде 3 5 или меньше с скомпилированным кодом и
-O
. В ghci низкие значения означают что-то вроде 3 3.'
Символ , кажется, запутались подсветка синтаксиса, не знаю , почему. В некоторых местах они необходимы, поэтому не могут удалить их все.Edit- изменил язык.
источник
Java - нет циклов или рекурсии
Я только начал изучать регулярные выражения и написал свою первую программу для проверки соответствия моей строки регулярному выражению.
К сожалению, программа не дает никакого результата. Это держит терминал. Пожалуйста, помогите в поиске проблемы. Я не использовал циклы, рекурсия не задействована. Я полностью сбит с толку.
Что я сделал не так? Почему моя программа не заканчивается? Пожалуйста помоги!
Идеальная ссылка здесь .
источник
С
Вам нужен только один из двух циклов, но какой вам нужен, зависит от вашего компилятора.
источник
C / C ++
C ++ просто допускает легкие встроенные объявления переменных, используемые здесь, но так же легко сделать эту ошибку в простом старом C ...
источник
C #
Ниже приведен простой класс, выполняющий арифметическую операцию (суммирование) для большого входного массива с использованием фонового потока. Пример программы включен.
Однако, хотя это довольно просто, оно никогда не заканчивается. Обратите внимание, что здесь нет ловкости рук (двойники символов, скрытые / пропущенные точки с запятой, триграфы ;-) и т. Д.)
источник