Rompimento de loops de dentro de uma instrução de switch
Ao navegar pelo código, podem surgir situações em que você precisa sair de um loop de dentro uma instrução switch. Considere o seguinte cenário:
while(true) {
switch(msg->state) {
case MSGTYPE: // ...
break;
// ... more stuff ...
case DONE:
**HERE, break out of the loop itself**
}
}
O objetivo é encontrar uma maneira elegante de sair do loop envolvente sem recorrer a sinalizadores ou quebras condicionais.
Uma saída rápida: usando 'goto'
No domínio de C , a instrução 'goto' fornece uma solução direta. Ele permite que você pule para um rótulo específico na função atual. Aproveitando 'goto', você pode sair do loop de forma limpa a partir da instrução switch:
while ( ... ) {
switch( ... ) {
case ...:
goto exit_loop;
}
}
exit_loop: ;
Essa abordagem oferece uma maneira concisa e explícita de encerrar o loop. Tenha em mente que 'goto' deve ser usado com moderação para manter a legibilidade do código. No entanto, em certas situações, pode fornecer uma solução simples e eficaz.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3