Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/09/2019, à 15:43

chris7522

petite boucle for "prise de tete"

Bonjour a tous ,
  Une nouvelle fois , j'ai du mal a comprendre (heureusement que l'informatique n'est qu'un loisir pour moi ,car j'aurai eu du mal a faire carriere !) smile
  Voici le mini code :

 
int i,n;
for(i=0, n=50; n>10; i++, n-=i){}
printf(“A : i=%d, n =%d\n”,i,n);

Je comprends que je demarre dans ma boucle ou i a une valeur de 0 et n de 50 .
Ma boucle s'arretera lorsque n sera inferieur a 10 . Mais je ne comprends pas la derniere instruction :
J'ai une incrementation de i au tour de boucle suivant et un n=n-i  et un resultat de :
A: i = 9, n = 5

Hors ligne

#2 Le 20/09/2019, à 15:58

claudius01

Re : petite boucle for "prise de tete"

Bonjour,

Ben oui, c'est normal car avant de sortir de la boucle, les 2 traitements i++ et n-=i sont exécutés

i=0, n =50
i=1, n =49
i=2, n =47
i=3, n =44
i=4, n =40
i=5, n =35
i=6, n =29
i=7, n =22
i=8, n =14
A : i=9, n =5

Hors ligne

#3 Le 20/09/2019, à 16:13

chris7522

Re : petite boucle for "prise de tete"

C'est tellement simple et logique apres coup !
Merci et bon week-end smile

Hors ligne