Bonjour,
Voici un code imbriquant deux boucles for:
Code :
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int i,j;
- for (i=0;i<3;i++){
- for (j=1;j<=2;j++){
- printf("%d %d ", i, j);
- }
- }
- printf("\n" );
- return 0;
- }
|
Après exécution, on se rend compte que le programme affiche 0 1 0 2 1 1 1 2 2 1 2 2.
Seulement, j'aurais bien aimé comprendre comment ça fonctionne, en le faisant pas à pas:
au départ, on part avec i=0 et j=1; la condition dans chacune des boucles est respectée, on affiche donc i et j, soit 0 et 1. Jusque là ça va.
Ensuite, on incrémente j de 1, on passe donc à j=2, condition de boucle toujours respectée, on affiche donc 0 et 2. Cela va toujours.
C'est maintenant que ça bloque.. on incrémente j de 1, j passe donc à 3, et la condition de boucle n'étant plus respectée, on en sort, et on se retrouve avec la première (c'est bien ça?)
i est incrémenté de 1, soit i=1, mais après je ne vois plus comment raisonner, étant sorti de la seconde boucle..
Merci d'avance!