ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
26 апреля
937408 Топик полностью
fk0, легенда (01.08.2019 11:19, просмотров: 211) ответил Лагунов на у меня опять детский (и смешной) вопрос по Си. Не пинайте сильно. Есть ли разница вставления break в операторе switch? Внутри скобок или снаружи?
switch -- это на самом деле такой goto, который можно как угодно перемешивать с остальным кодом, пример по ссылке. Фигурные скобки вообще не нужны... switch действует на блок кода (если со скобками) вырождающийся до одного оператора (без скобок) http://caxapa.ru/388946.html
записанный после самого swith и позволяет сделать goto на соответствующий case. Можно перейти внутрь цикла, внутрь if, внутрь блока кода в фигурных скобках (что делает "обычная" запись switch)... Соответственно и break можно ставить где угодно. Фигурные скобки после case ставить тоже совсем необязательно, но есть один ньюанс: если в блоке кода заводишь переменную (после case), то такой блок лучше заключить в фигурные скобки, иначе получишь варнинг, мол переменная может быть не инициализирована (если выполнение пойдёт через другой case).
[ZX]