Fin de Fichier (EOF) en C

Je suis en train de lire le livre Programmation en C par Ritchie & Kernighan. Et je suis assez confus au sujet de l'utilisation des expressions du FOLKLORE dans le getchar() fonction.

Tout d'abord, je veux savoir pourquoi la valeur de EOF est -1 et pourquoi la valeur de l' getchar()!=EOF est de 0. Excusez moi pour ma question, mais je ne comprends vraiment pas. J'ai vraiment essayé, mais je ne peux pas.

Puis j'ai essayé d'exécuter l'exemple sur le livre qui peut compter le nombre de caractères à l'aide du code ci-dessous, mais il semble que je n'ai jamais sortir de la boucle, même si j'appuyez sur entrée alors je me demande quand aurais-je atteindre les expressions du FOLKLORE?

main(){
   long nc;
   nc = 0;
   while (getchar() != EOF)
       ++nc;
   printf("%ld\n", nc);
}

Puis, j'ai lu le même problème à Problème avec les expressions du FOLKLORE en C. La plupart des gens avisés qu'au lieu d'utiliser des expressions du FOLKLORE, d'utiliser le terminateur \n ou le terminateur null '\0' qui fait beaucoup de sens.

Signifie que l'exemple sur le livre sert un autre but?

  • Vous faire comprendre que le livre que vous mentionnez est par les auteurs originaux du langage C, à droite?
InformationsquelleAutor newbie | 2010-12-05