Frage : Warum nicht arbeitet dieses sehr einfache c-Programm nicht vollständig?

Hallo dort, haben

I morgens auf OSX und die GCC-Befehlszeile Compiler für die C-Sprache.  Ich bin zu C und zu morgens folglich using das klassische Buch „die Programmiersprache ANSI-C“ durch Brian Kernighan und Dennis Ritchei als Weise, die Sprache zu erlernen neu.  Es gibt eine Übung im ersten Teil des Buches, das ich nicht erhalten kann, bearbeitend, und ich denke, dass es der, Weise, die ich, aber kompiliere, morgens mit.einbeziehen kann nicht sure.  Das Programm ist sehr einfach.  Es soll die Menge der Buchstaben vom Eingang einfach zählen (in diesem Fall, verwendet die Übung getchar ().  Ist hier das Programm, wie im Buch gefunden:

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
#include 

/* Zählimpulsbuchstaben im Eingang; 1. Version *

Hauptleitung ()
{
     langer nc;

    nc = 0;
    während (getchar ()! = EOF)
         ++nc;
    printf („%ld \ n“, nc);
}

Nachdem ich speichere, dass Code heraus zu einer Akte, die „characterCount.c“ mich genannt, die GCC-Befehlszeile Werkzeug wie so laufen lassen:

GCC characterCount.c

Es kompiliert fein, keine Störungen.  Ich laufen lasse dann das vollziehbare erzeugt durch den Compiler wie so:

./a.out

Das Programm wartet meinen Eingang, also schreibe ich einige Buchstaben, hereinkommen Schlag ommen, und nichts ausdruckt kt.  Das Programm erwartet mehr Eingang. Warum das? ist!  Nicht sollte die Linie des Codes mit dem printf durchgeführt erhalten?  Ich weiß, dass dieses klein ist, aber ich wirklich verstehen möchte, warum der Code nicht vollständig durchführt. Gibt es irgendein spezieller Schalter, den, ich einschalten muss bei der Zusammenstellung, um es Arbeit zu bilden?  

Kann jedes mir helfen, zu verstehen, was los hier ist.  Ich bin besonders interessiert an, warum das Programm hält, mehr Eingang zu erwarten, nachdem ich eine Linie der Buchstaben eintrage.

Während Ihrer Zeit danke und helfen! 

Antwort : Warum nicht arbeitet dieses sehr einfache c-Programm nicht vollständig?

Versuch

während (getchar ()! = „\ n“)

EOF sollte sein Ctrl + D, die ich schätze…
Weitere Lösungen  
 
programming4us programming4us