Leçon 20 : Mots-clés de flux de contrôle : break, continue, goto
Ces mots-clés permettent de modifier immédiatement l'exécution séquentielle normale des boucles et des switchs.
L'instruction break
Elle termine immédiatement la boucle (for, while, do-while) ou le switch le plus interne qui la contient. L'exécution reprend à l'instruction suivant immédiatement la structure terminée.
Exemple : Recherche dans une boucle
c for (int i = 1; i <= 10; i++) { if (i == 7) { printf("7 trouvé ! Arrêt de la boucle.\n"); break; // Sort complètement de la boucle } printf("Vérification de %d...\n", i); }
L'instruction continue
Elle ignore le reste de l'itération actuelle de la boucle et passe immédiatement à l'itération suivante (en vérifiant à nouveau la condition).
Exemple : Ignorer les nombres pairs
c for (int i = 1; i <= 10; i++) { if (i % 2 == 0) { continue; // Ignore l'affichage pour les nombres pairs } printf("%d est impair.\n", i); }
L'instruction goto (À éviter si possible)
goto est utilisée pour transférer le contrôle de manière inconditionnelle vers une étiquette spécifiée au sein de la même fonction.
Attention : L'utilisation excessive de goto rend le code complexe, difficile à déboguer et crée du « code spaghetti ». Il est généralement déconseillé, sauf pour des cas spécifiques de gestion d'erreurs ou pour sortir de boucles profondément imbriquées.
c int etat_erreur = 1; // ... code ... if (etat_erreur) { goto nettoyage_erreur; } // ... plus de code ...
nettoyage_erreur: printf("Exécution des tâches de nettoyage.\n");