ayant décidé de reprendre correctement mes bases sur le langage C, je parcours des sites sur internet et dans l'un d'eux j'ai trouvé un exemple sur la boucle for:
et il est dit qu'il affiche ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 for(i=0,j=0 ; j<10 ; i++,j+=i) printf("L'autre message %d %d\n",i,j);
la condition de rebouclage est j<10 (strictement inférieur) et pourtant on affiche tout de même la dernière ligne où j vaut 10. Est-ce normal, et dans ce cas pourquoi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Le message 0 Le message 1 Le message 2 Le message 3 Le message 4 Le message 5 Le message 6 Le message 7 Le message 8 Le message 9 L'autre message 0 0 L'autre message 1 1 L'autre message 2 3 L'autre message 3 6 L'autre message 4 10
je pensais que lorsque i vaut 3 et j vaut 6, la condition j<10 est vérifiée, alors on refait la boucle, donc on les imprime, puis on incrémente leurs valeurs.
d'ou i vaut 4 et j vaut 10 ce qui devrait mettre fin à la boucle (la condition j<10 n'étant pas vérifiée) et donc le printf ne devrait pas afficher la dernière ligne, non ?
bon je sais c'est une question de base mais non seulement la réponse me rassurera ( enfin j'espère) mais elle pourrait servir à d'autres, sait-on jamais...
Partager