bout de code à dechifrer svp
Bon voila j'ai recupere un bout de programme mais je ne comprend pas comment il marche
Citation:
const char strclord[]="Controlord presente "; /* text */
for (s=strclord; *s; s++) {
printf("%c", *s);
wait(20);
}
Voila donc ce que comprend pas c'est ce comment marche la boucle for
alors s=strclord??? j'ai toujours cru qu'il fallait mettre des entiers et la c'est du texte. Ensuite le *s il fait quoi?
merci pour votre aide
Re: bout de code à dechifrer svp
Code:
1 2
|
for (s=strclord; *s; s++) { |
on initialise le pointeur s en le mettant sur le premier caractère de strclord
tant que *s est différent de 0 c'est à dire différent de '\0' (fin de string)
on avance le pointeur
on affiche le caractère à l'adresse s
on attend 20 sec ?
Re: bout de code à dechifrer svp
Citation:
Envoyé par bball
Voila donc ce que comprend pas c'est ce comment marche la boucle for
alors s=strclord??? j'ai toujours cru qu'il fallait mettre des entiers et la c'est du texte.
Non ca peut être n'importe quelle instruction qui ne sera exécutée qu'à la première itération. ici on initialise le pointeur s a l'adresse de début de la chaîne
Citation:
Envoyé par bball
Ensuite le *s il fait quoi?
merci pour votre aide
C'est la condition d'arrêt. On boucle tant que *s est vrai. autrement dit tant que le caractère pointé par s est diférent de 0. le caractère de fin de chaîne.
Je te l'accorde. L'instruction for(;;) en C permet de produire du code très compact mais pas forcément très lisible.