Fråga : Why inte detta mycket enkla c-program fungerar inte hela vägen igenom?

Hi där, förmiddagen för

I på OSX och har gccen att befalla fodrar kompilatorn för cet - språk.  Förmiddag som I är ny till C, och förmiddagen därför using klassikern bokar ”det programmera språket för ANSI C” vid Brian Kernighan och Dennis Ritchei som a långt för att lära språket.  Det finns en övar i den första delen av boka, som jag inte kan få arbetet, och I-funderare som det kan måste för att göra med långt mig förmiddagen som inte sure sammanställer, bara förmiddag.  Programet är mycket enkelt.  Det ämnas enkelt för att räkna beloppet av tecken från matar in (i detta fall, öva använder getchar ().  Är här programet som funnit i boka: för class=" codeSnippet " för

1 för >

#include 

-/*räkningstecken matar in in; 1st version *

huvudsakligt ()
{
     lång nc;

    nc = 0;
    getchar, stunder (()! = EOF)
         ++nc;
    printf (”%ld \ n”, nc);
}

Befalla fodrar bearbetar något liknande så: efter I-räddningen, som kodifierar ut till en spara som namnges ”characterCount.c” mig, har kört gccen,

gcc characterCount.c

Den sammanställer fint, inga fel.  Jag kör därefter det utförbart som så frambrings av kompilatornågot liknande:

./a.out

Programväntningarna för mitt matar in, så jag skrivar några tecken, hiten skriver in, och ingenting skrivar ut - ut.  Programet förväntar att mer matar in. Varför är det?!  Bör inte fodra av kodifierar med printfen får utfört?  Jag vet att denna är minderårigen, men jag önskar egentligen att förstå varför kodifiera inte utför hela vägen igenom. Finns det någon sakkunnig kopplar mig måste att vända på stunder som sammanställer för att göra det arbete?  

Kan vem som helst hjälpa mig att förstå vad går på här.  Förmiddag som I intresseras bestämt i varför programalltid som förväntar mer matar in, efter jag har skrivit in en fodra av tecken.

Tacka dig för din tid och hjälp! <-/pre>

" klar "

Svar : Why inte detta mycket enkla c-program fungerar inte hela vägen igenom?

försök

getchar, stunder (()! = ”\ n”)

EOF bör vara Ctrl + D som jag gissar…,
Andra lösningar  
 
programming4us programming4us