break statement
Provoque la terminaison de la boucle for , while ou do-while englobante ou de l'instruction switch .
Utilisé lorsqu'il est autrement difficile de terminer la boucle en utilisant l'expression conditionnelle et les instructions conditionnelles.
Table des matières |
Syntaxe
attr-spec-seq
(optionnel)
break
;
|
|||||||||
| attr-spec-seq | - |
(C23)
liste optionnelle d'
attributs
, appliquée à l'instruction
break
|
N'apparaît que dans l'
instruction
du corps d'une boucle (
while
,
do-while
,
for
) ou dans l'
instruction
d'une
switch
.
Explication
Après cette instruction, le contrôle est transféré à l'instruction ou à la déclaration suivant immédiatement la boucle ou le switch englobant, comme si par
goto
.
Mots-clés
Notes
Une instruction break ne peut pas être utilisée pour sortir de plusieurs boucles imbriquées. L'
goto
statement
peut être utilisé à cette fin.
Exemple
#include <stdio.h> int main(void) { int i = 2; switch (i) { case 1: printf("1"); case 2: printf("2"); // i==2, donc l'exécution commence à cette étiquette case case 3: printf("3"); case 4: case 5: printf("45"); break; // l'exécution des cas suivants est terminée case 6: printf("6"); } printf("\n"); // Comparer les sorties de ces deux boucles for imbriquées. for (int j = 0; j < 2; j++) for (int k = 0; k < 5; k++) printf("%d%d ", j,k); printf("\n"); for (int j = 0; j < 2; j++) { for (int k = 0; k < 5; k++) // seule cette boucle est quittée par break { if (k == 2) break; printf("%d%d ", j,k); } } }
Sortie possible :
2345 00 01 02 03 04 10 11 12 13 14 00 01 10 11
Références
- Norme C17 (ISO/CEI 9899:2018) :
-
- 6.8.6.3 L'instruction break (p: 111)
- Norme C11 (ISO/CEI 9899:2011) :
-
- 6.8.6.3 L'instruction break (p: 153)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 6.8.6.3 L'instruction break (p: 138)
- Norme C89/C90 (ISO/IEC 9899:1990) :
-
- 3.6.6.3 L'instruction break
Voir aussi
[[
fallthrough
]]
(C23)
|
indique que la chute depuis l'étiquette de cas précédente est intentionnelle et ne devrait pas être diagnostiquée par un compilateur qui avertit sur les chutes
(spécificateur d'attribut) |
|
Documentation C++
pour
break
statement
|
|