Bonjour,
alors OK donc voilà, j'ai un problème avec le EOF ... Assez tôt dans le livre (page 17 en fait), il y a ce code:
# include <stdio.h>
main ()
{ int long nc;
nc=0;
while (getchar()!=EOF)
++nc;
printf ("%ld\n",nc);
}
la condition d'arrêt de la boucle est qu'il n'y ait plus de caractère entré et justement, moi je n'arrive pas à ne pas entrer de caractère (vous me suivez ?), mon compilateur me prend tout : le retour chariot, le espace, le escape, les entiers tout pour lui est caractère donc je n'arrive jamais au printf ("..... )
Alors bien sûr, j'ai changé la condition de sortie de boucle, je mets par exemple while (getchar()!='1') et ça tourne mais le fait de ne pas comprendre quelque chose m'énerve (d'autant que le !=EOF est très employé par le K&R) ...
De manière générale d'ailleurs, même si je pense que le K&R est un bon livre , je crois qu'il s'adresse à des faux débutants. Que peut faire en effet un vrai débutant avec le premier programme de ce livre (page 6):
# include <stdio.h>
main ()
{ printf ("bonjour, maître\n");
}
que son compilateur va lui rejeter parce qu'il n'y a pas de valeur de retour ? ..... Merci de vos posts , à bientôt.
Poste le Wednesday 13 April 2005 10:12:28