Namespaces
Variants

continue statement

From cppreference.net

Fait que la portion restante du corps de la boucle for , while ou do-while englobante soit ignorée.

Utilisé lorsqu'il est autrement maladroit d'ignorer la portion restante de la boucle en utilisant des instructions conditionnelles.

Table des matières

Syntaxe

attr-spec-seq (optionnel) continue ;
attr-spec-seq - (C23) liste optionnelle d' attributs , appliquée à l'instruction continue

Explication

L'instruction continue provoque un saut, comme par goto , vers la fin du corps de la boucle (elle ne peut apparaître que dans le corps de boucle des instructions for , while , et do-while ).

Pour la boucle while , elle agit comme

while (/* ... */) {
   // ... 
   continue; // agit comme goto contin;
   // ... 
   contin:;
}

Pour la boucle do-while , elle agit comme :

do {
    // ... 
    continue; // agit comme goto contin;
    // ... 
    contin:;
} while (/* ... */);

Pour la boucle for , elle agit comme :

for (/* ... */) {
    // ... 
    continue; // agit comme un goto contin;
    // ... 
    contin:;
}

Mots-clés

continue

Exemple

#include <stdio.h>
int main(void) 
{
    for (int i = 0; i < 10; i++) {
        if (i != 5) continue;
        printf("%d ", i);             // cette instruction est ignorée chaque fois que i != 5
    }
    printf("\n");
    for (int j = 0; j < 2; j++) {
        for (int k = 0; k < 5; k++) { // seule cette boucle est affectée par continue
            if (k == 3) continue;
            printf("%d%d ", j, k);    // cette instruction est ignorée chaque fois que k == 3
        }
    }
}

Sortie :

5
00 01 02 04 10 11 12 14

Références

  • Norme C17 (ISO/CEI 9899:2018) :
  • 6.8.6.2 L'instruction continue (p: 111)
  • Norme C11 (ISO/IEC 9899:2011) :
  • 6.8.6.2 L'instruction continue (p: 153)
  • Norme C99 (ISO/IEC 9899:1999) :
  • 6.8.6.2 L'instruction continue (p: 138)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 3.6.6.2 L'instruction continue

Voir aussi

Documentation C++ pour continue statement