#25. Операторы break, continue и goto | Язык C для начинающих

preview_player
Показать описание


Узнаете, как работают управляющие операторы break, continue и goto в операторах циклов for, while и do-while.
Рекомендации по теме
Комментарии
Автор

Восхищаюсь терпением и упорством Сергея! Это уже не первый курс по языкам программирования, который делает Сергей, на невероятно высоком уровне...Круто!!!

vimbor
Автор

Сергей, у Вас Божий Дар грамотно расставлять всё по полочкам в голове. Дай Бог Вам здоровья, спасибо огромное за прекрасный урок!

vladimirastrelin
Автор

goto еще лучше использовать в сложных обходах графа, там либо рекурсивные функции нужно использовать либо goto, но в случае goto ресурсов требуется меньше

tpqnwtt
Автор

позвольте до.б.ться))
вы конечно очень хорошо и подробно рассказываете, мгу смело сказать что такой подробности как у вас нет у многих "ветеранов" преподающих разные курсы НО:
замечаю кучу недочетов, не критичных но весьма серьезных с точки зрения правильного понимания алгоритмов. И вроде как уже говорил не критично, ну с goto не выдержал))
никто раньше (до того как goto стал признаком плохого тона) не использовал его для выхода из вложенных циклов.
если вам нужен способ выхода из вложенного цикла то делается наоборот. ставится условие входа во вложенный цикл (т.е if (i+j<0) ставиться до) и программа сама выйдет.
конструкция goto появилась для удобства ибо раньше "отца" писали на ассемблере и там goto (jmp - по ассемблерски) был единственным способом создания цикла. ЕДИНСТВЕННЫМ!!! и чтобы было удобно "отцам" писать в привычном темпе и в привычной логике, то решили что надо сохранить конструкцию в новом высокоуровневом языке. прошло время появились молодые" сыны" не натренированные на ассемблере и стали совершать много ошибок пытаясь уследить логику "отца" в коде, когда его приходилось менять или дополнять. вот и решили что какого х.я??? зачем создавать высокоуровневый язык и использовать устаревшие конструкции!!!
использование GOTO крайне необходимо только тогда когда:
нужно чтобы ваш код был ооочень компактным (что весьма глупо так как современные устройства на порядок мощнее чем вам необходимо) и вы собираетесь писать все в одной функции main. При этом вам надо выполнять некоторые участки кода много раз и чтобы не повторяться и не создавать отдельные функции (так как отдельная функция занимает пару лишних строчек) можно использовать оператор goto. Глупо и не эффективно но имеет право быть реализованным
Поэтому пишу всем кто задается вопросом: Можно? да можно! удобно? нечего подобного! зачем тогда надо? экономит 0, 0001% может и того меньше пространства на жестком диске)))

syrengoogle
Автор

Скажите, Сергей, единица в условии while используется как булевая конст?
Если да, то можно ли вместо нее прописать true?

xmzlupr
Автор

А почему для компилятора goto трудно переваривать? Ведь в том же асме сплошь и рядом переходы по меткам(тот же goto). Да и switch case по сути тоже goto. Мне все равно не понятно предвзятое отношение к этому оператору.

nickname