![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Guest |
|
|||
Unregistered |
Народ, просьба ответить на такой вопрос:
Почему инструкция break; в этом примере for(;;) { if() { break; } } выбрасывает меня из цикла for, а в этом - for(;;) { swich() { case 1: break; case 2: break; } } она только возвращает меня в конец цикла? Показана общая структура, на пустые скобки и т.д. внимания не обращать. Заранее спасибо. |
|||
|
||||
Гость_GRON |
|
|||
Unregistered |
В смысле - это так, или мои наблюдения неверны?
|
|||
|
||||
Guest |
|
|||
Unregistered |
Два предыдущих сообщения - мои.
|
|||
|
||||
GRON |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 21.11.2003 Репутация: нет Всего: нет |
Елки-палки, никак с регистрацией не разберусь.
Все пред. сообщения - МОИ! |
|||
|
||||
gray_k |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1015 Регистрация: 9.1.2003 Где: Москва Репутация: нет Всего: 22 |
Потому, что оператор break производит выход из тела оператора условного перехода.
В первом случае он у тебя один - for - из него и происходит выход. Во втором случае у тебя есть вложенны оператор switch, соответственно из него и просходит выход и продолжается выполнение оператора for. -------------------- С уважением. Gray. |
|||
|
||||
Guest |
|
|||
Unregistered |
То есть, насколько я понял - if не является оператором?
И еще (я тугой в терминологии) - что такое "оператор условного перехода"? |
|||
|
||||
Guest |
|
|||
Unregistered |
Это был я.
|
|||
|
||||
GRON |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 21.11.2003 Репутация: нет Всего: нет |
Ё-мое, эта регистрация!!
![]() |
|||
|
||||
wertyman |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 28.10.2003 Репутация: нет Всего: нет |
мдя... а ты зачем писать проги сел !? ![]() |
|||
|
||||
NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 1 Всего: 23 |
Да просто break "бьёт" ближайший цикл...
|
|||
|
||||
NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 1 Всего: 23 |
В это его семантика!!!
![]() |
|||
|
||||
GRON |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 21.11.2003 Репутация: нет Всего: нет |
Тогда посоветуй, где ее набираться? Я имею в виду И-нет (книги тяжело достать, у меня только одна пока). |
||||
|
|||||
setq |
|
|||
Unregistered |
чтобы выйти из
|
|||
|
||||
wertyman |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 28.10.2003 Репутация: нет Всего: нет |
похоже, что опыта в ООБ у тебя вообще как такого нет !? или же есть? я не имею ввиду С++ и VC, я имею ввиду любой язык программирования... потому что тебе не помешало бы просто хотя бы в ООБ(объектно ориентированном программирование) разобратся, тада тебе будут более близки понятия, как условный переход, etc... тот же ВБ или скрипты. ![]() вполне хватит одной простенькой книжки... а в инете по поводу этого вообще море инфы: www.codenet.ru/ http://proglib.ru/ http://www.webscript.ru да и тот же Мелкософт... ;) |
|||
|
||||
knave |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 6.3.2003 Где: Санкт-Питербург ( Россия) Репутация: 1 Всего: 5 |
Много всего написали.
break выбрасываетиз той инструкции в которой он предусмотрен. Наприме если в фор вложить ив то выбросит из цикла,так как в if юрека непредусмотрен. если же в фор вставить свич то выбросит в конец свича, так как для него бреак преусмотрен. -------------------- С наилучшими пожеланиями !!! |
|||
|
||||
Guest |
|
|||
Unregistered |
В общем, я приблизительноп понял, что это особенность "брейка", а не мой глюк. Спасибо всем откликнувшимся.
|
|||
|
||||
MaloY |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 27.11.2003 Где: Питер Репутация: нет Всего: нет |
нееее... goto это плохая штука. В больших прогах может заглючить. Вот в Виндах их много ![]() А серьезно - пользуй 2-а break`a один в swich и там же поставь флаг, а второй в последующем if`е с проверкой флага. Это сообщение отредактировал(а) MaloY - 27.11.2003, 18:13 |
||||
|
|||||
[ss]3L33T@ |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 123 Регистрация: 14.10.2003 Где: Казармы Репутация: -1 Всего: 1 |
ВО МЛЯ - ФЛЕЙМА-ТО!
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Break - бьёт цикл в котором вызван. И ВСЁ. --------------------
Понастоящему добрый человек всегда простит и забудет вам ваше зло, но он никогда не простит и не забудет вашего добра[ss]3L33T@ |
|||
|
||||
Paradox |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1135 Регистрация: 18.11.2002 Где: Россия Репутация: нет Всего: 1 |
Странно, но я всегда думал что условный переход к парадигме ООП никакого отношения не имеет... Вообще то понятие достаточно общее для программирования, и каким боком тут ООП зацепилось не пойму .... -------------------- --- |
|||
|
||||
Paradox |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1135 Регистрация: 18.11.2002 Где: Россия Репутация: нет Всего: 1 |
Сообщение выше твое ? Не забудь раз десять про это написать
![]() -------------------- --- |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |