Permalänk
Medlem

C nybörjare.

Hej undrar varför jag inte får EOF när jag läser av tangentbordet i C.

main() { int chara; int count=0; while ((chara = getchar()) != EOF){ if (chara == '\n') count++; if(chara == ' ') count++; if (chara == '\t') count++; } printf("Found: %d\n",count); }

tack för svar !

Permalänk
Hedersmedlem

Fundera på varför du skulle få en sådan (och när det skulle ske). Det enkla svaret är nog att du helt enkelt inte har skrivit någon EOF; testa ctrl+z (i windows) eller ctrl+d (*nix).

Permalänk
Medlem

Testade ctrl+z men då sluta cmd skriva med tangentbordet ... hur vet getchar() när jag har skrivit klart ? om jag trycker enter så körs det men då får jag ingen EOF. Dom borde förklara bättre i boken.

Permalänk
Medlem

Det var ctrl+d två ggr tack