Выход из цикла изнутри оператора Switch
При навигации по коду могут возникнуть ситуации, когда вам нужно выйти из цикла изнутри оператор переключения. Рассмотрим следующий сценарий:
while(true) {
switch(msg->state) {
case MSGTYPE: // ...
break;
// ... more stuff ...
case DONE:
**HERE, break out of the loop itself**
}
}
Цель состоит в том, чтобы найти элегантный способ выхода из охватывающего цикла, не прибегая к использованию флагов или условных разрывов.
Быстрый выход: использование 'goto'
В области C оператор goto обеспечивает простое решение. Это позволяет вам перейти к определенной метке внутри текущей функции. Используя команду goto, вы можете аккуратно выйти из цикла внутри оператора переключателя:
while ( ... ) {
switch( ... ) {
case ...:
goto exit_loop;
}
}
exit_loop: ;
Этот подход предлагает краткий и явный способ завершения цикла. Имейте в виду, что «goto» следует использовать с осторожностью, чтобы сохранить читабельность кода. Однако в определенных ситуациях он может обеспечить простое и эффективное решение.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3