Я - ОП от CodeGolf. Кажется, у меня просто была опечатка, я хотел сказать int i=-1,c,o,w,b,e=b=w=o=c=1;
Таким образом, второй определенный int всегда установлен в 1, а остальные могут быть установлены на него. Смущение в том, что у меня первоначально была переменная, которая следующая (L = 3), как только l (неопределенная), и я устанавливал все остальные переменные в e = b = w = o = c = (L = 3); который, по моему мнению, собирался установить L равным 3, верните true для этого (1), затем установите остальное на 1.
Несколько тестов позже я понял, что это просто установило их все на 3 и работало только с определенную строку, которую я использовал для проверки моего кода. Поэтому я удалил их и изменил его, чтобы быть L = 3 жестко закодированным, а остальные - e=b=w=o=c=1;L=3
. В какой-то момент я должен был нажать cmd + z один раз и удалить «=» и «1», чтобы я остался только с e=b=w=o=c;
. Из-за последовательного неопределенного характера этого (по крайней мере, на моей IDE) он всегда определял их как 0, и поэтому ошибка не замечалась.
Теперь, когда я исправил его, благодаря этому сообщению длина байтов такая же, и в любом случае не было необходимости в каком-либо из этого сложного кода e=b=w=o=c=1
, я думал, что длина байта была иной, потому что когда я копирую вставив мою функцию в счетчик байтов, она показала, что она меньше на 2 байта (я не знал, что у меня только что была опечатка и отсутствовала 2 байта).
My IDE всегда определяет эти переменные как 0. Мой код предназначен для работы со всеми переменными, определенными как 1, тот факт, что он работает w/0, является совпадением. Также только потому, что это происходит на моей IDE, это не значит, что это будет на других, хотя я тестировал его на нескольких IDE сейчас в сети и запускал много циклов, и он, кажется, всегда return 0. В любом случае, я по-прежнему обновлял мой исходный код, чтобы установить их в 1, как и должно быть (добавив 2 байта в мою программу).
Спасибо за вход каждого
Я действительно не понимаю этого, 'c' присваивается неинициализированным к остальным переменным, я могу ошибаться, но, кажется, неопределенное поведение. –
Согласно [this] (http://meta.codegolf.stackexchange.com/questions/5486/is-an-answer-allowed-to-use-undefined-but-consistent-behaviour), последовательное, неопределенное поведение прекрасное для игры в гольф, поэтому, возможно, создатель программы использовал это. – Downvoter
Если 'i' имеет время автоматического хранения, это хорошо сформировано. Если это статическая продолжительность хранения, она неверна, поскольку для инициализации переменных необходимы постоянные выражения. – Downvoter