Bonjour,
Je suis débutant en C. . .
Je lis en ce moment le fameux K&R, ou "Le Langage C Norme ANSI : 2è Edition".
Je n'ai pas de misère à comprendre les concepts du C. Cependant, j'aimerais obtenir des précisions de la part de personnes plus expérimentées que moi dans ce domaine.
Alors, voilà :
Premièrement, voici un programme montré dans mon livre :
Lorsque je l'exécute sur Linux, j'ai un écran noir. Oui, cela est normal...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #include <stdio.h> main() { int c; while ((c = getchar()) != EOF) putchar(c); }
J'écris, par exemple, "Hello, world". En sortie, j'obtiens : "Hello, world". Toujours normal.
Maintenant, voici mes questions :
[ 1) ] Ce qui me tracasse, c'est que le programme ne fini jamais. Il me redemande toujours d'écrire du texte en entrée. Cependant, le while n'était t'il pas supposé de s'arrêter lorsque l'entier "c" ait pour valeur "EOF"? Cependant, la boucle ne s'arrête jamais... Pourquoi?
[ 2) ] Je voulais simplement savoir si getchar() demandais en entrée un flot de texte (text strem) en premier lieu, puis ensuite lisait les caractères à l'intérieur du ce flot de texte. Simplement si l'on pouvait me le confirmer. . .
C'est tout, en tout cas pour le moment.
Je vous remercie sincèrement pour vos réponses.
Également, s'il serait possible de spécifier le numéro de la question, simplement pour plus de clarté.
Merci
Partager