Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > break; |
Автор: Guest 21.11.2003, 14:47 |
Народ, просьба ответить на такой вопрос: Почему инструкция break; в этом примере for(;;) { if() { break; } } выбрасывает меня из цикла for, а в этом - for(;;) { swich() { case 1: break; case 2: break; } } она только возвращает меня в конец цикла? Показана общая структура, на пустые скобки и т.д. внимания не обращать. Заранее спасибо. |
Автор: Гость_GRON 21.11.2003, 15:17 |
В смысле - это так, или мои наблюдения неверны? |
Автор: Guest 21.11.2003, 15:28 |
Два предыдущих сообщения - мои. |
Автор: GRON 21.11.2003, 15:33 |
Елки-палки, никак с регистрацией не разберусь. Все пред. сообщения - МОИ! |
Автор: gray_k 21.11.2003, 16:07 |
Потому, что оператор break производит выход из тела оператора условного перехода. В первом случае он у тебя один - for - из него и происходит выход. Во втором случае у тебя есть вложенны оператор switch, соответственно из него и просходит выход и продолжается выполнение оператора for. |
Автор: Guest 21.11.2003, 18:23 |
То есть, насколько я понял - if не является оператором? И еще (я тугой в терминологии) - что такое "оператор условного перехода"? |
Автор: Guest 21.11.2003, 18:24 |
Это был я. |
Автор: GRON 21.11.2003, 18:26 |
Ё-мое, эта регистрация!! ![]() |
Автор: wertyman 21.11.2003, 18:34 | ||
мдя... а ты зачем писать проги сел !? ![]() |
Автор: NiJazz 21.11.2003, 20:37 |
Да просто break "бьёт" ближайший цикл... |
Автор: NiJazz 21.11.2003, 20:38 |
В это его семантика!!! ![]() |
Автор: GRON 21.11.2003, 20:50 | ||||
Тогда посоветуй, где ее набираться? Я имею в виду И-нет (книги тяжело достать, у меня только одна пока). |
Автор: setq 22.11.2003, 02:03 | ||
чтобы выйти из
|
Автор: wertyman 22.11.2003, 04:52 | ||
похоже, что опыта в ООБ у тебя вообще как такого нет !? или же есть? я не имею ввиду С++ и VC, я имею ввиду любой язык программирования... потому что тебе не помешало бы просто хотя бы в ООБ(объектно ориентированном программирование) разобратся, тада тебе будут более близки понятия, как условный переход, etc... тот же ВБ или скрипты. ![]() вполне хватит одной простенькой книжки... а в инете по поводу этого вообще море инфы: http://www.codenet.ru/ http://proglib.ru/ http://www.webscript.ru да и тот же Мелкософт... ;) |
Автор: knave 26.11.2003, 17:41 |
Много всего написали. break выбрасываетиз той инструкции в которой он предусмотрен. Наприме если в фор вложить ив то выбросит из цикла,так как в if юрека непредусмотрен. если же в фор вставить свич то выбросит в конец свича, так как для него бреак преусмотрен. |
Автор: Guest 26.11.2003, 21:25 |
В общем, я приблизительноп понял, что это особенность "брейка", а не мой глюк. Спасибо всем откликнувшимся. |
Автор: MaloY 27.11.2003, 18:11 | ||||
нееее... goto это плохая штука. В больших прогах может заглючить. Вот в Виндах их много ![]() А серьезно - пользуй 2-а break`a один в swich и там же поставь флаг, а второй в последующем if`е с проверкой флага. |
Автор: [ss]3L33T@ 28.11.2003, 15:31 |
ВО МЛЯ - ФЛЕЙМА-ТО!![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Break - бьёт цикл в котором вызван. И ВСЁ. |
Автор: Paradox 28.11.2003, 15:40 | ||
Странно, но я всегда думал что условный переход к парадигме ООП никакого отношения не имеет... Вообще то понятие достаточно общее для программирования, и каким боком тут ООП зацепилось не пойму .... |
Автор: Paradox 28.11.2003, 15:41 |
Сообщение выше твое ? Не забудь раз десять про это написать ![]() |