2.7. Les commandes de rupture de séquence

En plus du goto vu précédemment, il existe d'autres commandes de rupture de séquence (c'est-à-dire de changement de la suite des instructions à exécuter). Ces commandes sont les suivantes :

continue;
ou
break;
ou
return [valeur];

return permet de quitter immédiatement la fonction en cours. Comme on l'a déjà vu, la commande return peut prendre en paramètre la valeur de retour de la fonction.

break permet de passer à l'instruction suivant l'instruction while, do, for ou switch la plus imbriquée (c'est-à-dire celle dans laquelle on se trouve).

continue saute directement à la dernière ligne de l'instruction while, do ou for la plus imbriquée. Cette ligne est l'accolade fermante. C'est à ce niveau que les tests de continuation sont faits pour for et do, ou que le saut au début du while est effectué (suivi immédiatement du test). On reste donc dans la structure dans laquelle on se trouvait au moment de l'exécution de continue, contrairement à ce qui se passe avec le break.

Exemple 2-6. Rupture de séquence par continue

/* Calcule la somme des 1000 premiers entiers pairs : */
somme_pairs=0;
for (i=0; i<1000; i=i+1)
{
    if (i % 2 == 1) continue;
    somme_pairs=somme_pairs + i;
}