Je m'enseigne C avec K & R et suis perplexe par un des exemples dans le livre. Je compile le code exactement comme il est écrit dans l'exemple mais il ne fait pas ce que disent les auteurs. Le programme est censé compter les caractères. Le code donné est le suivant:Problème avec l'exemple 1.5.2 dans le livre de K & R sur C
#include <stdio.h>
/* count characters in input; 1st version */
main()
{
long nc;
nc=0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
Pour la compilation, je remplace main() par int main(). Mais je suppose que ce n'est pas pertinent à la question. Le programme compile et fonctionne bien. Mais il ne compte tout simplement pas les caractères tels qu'ils étaient écrits. Est-ce que je manque quelque chose? Quelque chose aurait pu changer dans la façon dont les compilateurs modernes traitent un exemple de code tel que celui-ci depuis que le livre a été écrit? Toute aide que les bonnes personnes sur ce forum pourraient être en mesure d'offrir serait grandement appréciée.
Best, Dan
Quelle contribution donnez-vous le programme et ce qui est imprimé? – Mark
Donnez-vous au programme un fichier pour stdin? par exemple. programme
Procurez-vous la deuxième édition de K & R. La première édition est une pièce de musée, et est antérieure à la norme C89 de 20 ans d'une décennie. (J'ai une copie de la première édition, je l'apprécie toujours, mais ce n'est pas le bon livre pour apprendre le C à partir de maintenant, la deuxième édition est celle à utiliser.) –