Maison > développement back-end > C++ > Comment sortir des boucles à partir des instructions Switch en C ?

Comment sortir des boucles à partir des instructions Switch en C ?

Mary-Kate Olsen
Libérer: 2024-10-30 03:35:28
original
578 Les gens l'ont consulté

How to Break Out of Loops from Within Switch Statements in C  ?

Sortir des boucles à partir des commutateurs

En C , il est parfois nécessaire de sortir d'une boucle à partir d'une instruction switch. Dans l'extrait de code fourni, l'utilisateur souhaite quitter la boucle lorsque l'état du message est défini sur DONE.

Utilisation de l'instruction goto

Le moyen le plus simple de Pour y parvenir, utilisez l'instruction goto, comme démontré dans le code ci-dessous :

<code class="c++">while ( ... ) {
   switch( ... ) {
     case ...:
         goto exit_loop;

   }
}
exit_loop: ;</code>
Copier après la connexion

Dans cet exemple, l'instruction goto passe à l'étiquette exit_loop lorsque l'état est défini sur DONE, sortant ainsi des deux l'instruction switch et la boucle while.

Utilisation d'une variable indicateur

Une approche alternative consiste à utiliser une variable indicateur. Il peut s'agir d'une variable booléenne définie sur true lorsque la condition souhaitée est remplie dans l'instruction switch. La boucle peut ensuite être rompue en vérifiant la variable flag après l'instruction switch.

Voici un exemple :

<code class="c++">bool should_exit = false;

while ( ... ) {
   switch( ... ) {
     case ...:
         should_exit = true;
         break;
     // ... more stuff ...
     case DONE:
         should_exit = true;
         break;
   }

   if (should_exit) {
       break;
   }
}</code>
Copier après la connexion

Dans ce cas, l'indicateur Should_exit est défini sur true lorsque l'état est défini sur DONE et la boucle est interrompue lorsque l'indicateur est vérifié après l'instruction switch.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal