Je lise à travers "le langage de programmation C" et je travaille à travers tous les exercices avec codeblocks. Mais je ne peux pas obtenir mon comptoir de caractère pour travailler, malgré la copie directement du livre. Le code ressemble à ceci: Lorsque j'exécute le programme, il ouvre une fenêtre que je peux taper, mais quand je frappe entrez, tout ce qui se passe est-il sur une ligne et je peux garder Taper, mais je pense que c'est censé imprimer le nombre de caractères. P> aucune idée de ce qui ne va pas? P> P>
5 Réponses :
Cette ligne: signifie qu'il continue à lire jusqu'à la fin de l'entrée - pas em> jusqu'à la fin d'une ligne. ( EOF CODE> est une signification constante spéciale "Fin du fichier".) Vous devez mettre fin à l'entrée (probablement avec Ctrl-D ou avec Ctrl-Z) pour voir le nombre total de caractères saisi. < / p> p>
Entrée n'est pas EOF. Selon votre système d'exploitation, CTRL-D ou CTRL-Z devraient agir comme EOF sur l'entrée standard. P>
D'accord, cela a du sens. Mais Ctrl-D et Ctrl-Z ne fonctionnent pas tous les deux. Ils tapent respectivement ^ d et ^ z respectivement. Tout ce qui pourrait être, ou quelque part pour découvrir ce qu'il est?
@ user1624005: Vous devrez peut-être taper Ctrl-Z suivi de Entrée.
Si vous souhaitez terminer sur EOL (fin de ligne), remplacez EOF avec '\ N':
#include <stdio.h> main(){ long nc; nc = 0; while (getchar() != '\n') ++nc; printf("%ld\n", nc); }
J'ai couru dans le problème ce soir aussi. Enfin découvert que Ctrl-D sur Linux a travaillé. Vous construisez le fichier source à l'aide de CC et lancez le programme et entrez un mot, puis appuyez deux fois sur CTRL-D lorsque vous avez terminé la frappe. Le nombre que le programme a compensé sera imprimé juste derrière le mot même que vous venez de taper, et le programme se termine immédiatement. Tout comme ceci: p>
La réponse ci-dessus fournie par Nujabse est correcte. Mais récemment sur la question de ce sujet et de rechercher la réponse, je voudrais ajouter pourquoi. P>
Utilisation CTRL + C indique au terminal d'envoyer un SIGINT au processus de premier plan actuel, qui se traduit par par défaut pour terminer l'application. P>
Ctrl + D indique au terminal qu'il doit enregistrer une EOF sur une entrée standard, que Bash interprète comme désir de sortir. P>