© Éditions Eyrolles
85
chapitre n° 5
Les instructions de contrôle
ou encore à :
i=0 ; j=1 ; k=5 ;
for ( ; ... ; ...)
De même :
for ( i=1 ; i <= 5 ; printf("fin de tour"), i++ ) { instructions }
est équivalent à :
for ( i=1 ; i<=5 ; i++ )
{ instructions
printf ("fin de tour") ;
}
En revanche :
for ( i=1, printf("on commence") ; printf("début de tour"), i<=5 ; i++)
{ instructions }
n’est pas équivalent à :
printf ("on commence") ;
for ( i=1 ; i<=5 ; i++ )
{ printf ("début de tour") ;
instructions
}
car, dans la première construction, le message début de tour est affiché après le dernier
tour tandis qu’il ne l’est pas dans la seconde construction.
5) Les deux constructions :
for ( ; ; ) ;
for ( ; ; ) { }
sont syntaxiquement correctes. Elles représentent des boucles infinies de corps vide (n’oubliez
pas que, lorsque la seconde expression est absente, elle est considérée comme vraie). En pratique, elles ne présentent aucun intérêt.
En revanche, cette construction
for ( ; ; ) instruction
est une boucle a priori infinie dont on pourra éventuellement sortir par une instruction break
(comme nous le verrons dans le paragraphe suivant).
Delannoy Livre.book Page 85 Mercredi, 6. mai 2009 4:26 16
85
chapitre n° 5
Les instructions de contrôle
ou encore à :
i=0 ; j=1 ; k=5 ;
for ( ; ... ; ...)
De même :
for ( i=1 ; i <= 5 ; printf("fin de tour"), i++ ) { instructions }
est équivalent à :
for ( i=1 ; i<=5 ; i++ )
{ instructions
printf ("fin de tour") ;
}
En revanche :
for ( i=1, printf("on commence") ; printf("début de tour"), i<=5 ; i++)
{ instructions }
n’est pas équivalent à :
printf ("on commence") ;
for ( i=1 ; i<=5 ; i++ )
{ printf ("début de tour") ;
instructions
}
car, dans la première construction, le message début de tour est affiché après le dernier
tour tandis qu’il ne l’est pas dans la seconde construction.
5) Les deux constructions :
for ( ; ; ) ;
for ( ; ; ) { }
sont syntaxiquement correctes. Elles représentent des boucles infinies de corps vide (n’oubliez
pas que, lorsque la seconde expression est absente, elle est considérée comme vraie). En pratique, elles ne présentent aucun intérêt.
En revanche, cette construction
for ( ; ; ) instruction
est une boucle a priori infinie dont on pourra éventuellement sortir par une instruction break
(comme nous le verrons dans le paragraphe suivant).
Delannoy Livre.book Page 85 Mercredi, 6. mai 2009 4:26 16
