Problem dans la boucle while
Résolu
aminet1
-
Utilisateur anonyme -
Utilisateur anonyme -
A voir également:
- Problem dans la boucle while
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Mise à disposition de boucle locale dédiée ✓ - Forum Freebox
- Vlc lire en boucle ✓ - Forum Lecteurs et supports vidéo
1 réponse
Bonjour
Si, le résultat est bien BD
-s pointant initialement sur A, tu testes while(*s++). s pointe maintenant sur B
- tu imprimes ce B avec printf("%c",*s++) donc tu incrémentes s : s pointe maintenant sur C
- tu testes à nouveau ta condition de bouclage while(*s++) donc tu incrémentes encore s : s pointe maintenant sur D
- tu imprimes ce D...
À chaque boucle, tu incrémentes s deux fois. C'est d'ailleurs très dangereux, tu ne testes qu'un caractère sur deux pour arrêter ta boucle et si tu avais initialisé ta chaîne avec un nombre impaire de caractères, tu passais par-dessus le caractère null de fin de chaîne et tu partais dans le décor...
Si, le résultat est bien BD
-s pointant initialement sur A, tu testes while(*s++). s pointe maintenant sur B
- tu imprimes ce B avec printf("%c",*s++) donc tu incrémentes s : s pointe maintenant sur C
- tu testes à nouveau ta condition de bouclage while(*s++) donc tu incrémentes encore s : s pointe maintenant sur D
- tu imprimes ce D...
À chaque boucle, tu incrémentes s deux fois. C'est d'ailleurs très dangereux, tu ne testes qu'un caractère sur deux pour arrêter ta boucle et si tu avais initialisé ta chaîne avec un nombre impaire de caractères, tu passais par-dessus le caractère null de fin de chaîne et tu partais dans le décor...