2017-11-15 3 views
0

In oben genannten Code warum endet das Programm nicht von selbst nach c wird EOF? Referenz des Codes> Buchs: K & R ist die C Programming Language 2nd Edition, Seite: 18getchar(), putchar (char), EOF

+0

Es ist für mich beendet, wenn ich als eine Eingabe in einem Ubuntu-Linux-Terminal eingeben. Wenn Sie nur return drücken, wird getchar() nicht zur Rückgabe von EOF (-1) führen. – Scooter

Antwort

0

getchar() wird EOF nur zurück, wenn das Ende der Datei erreicht ist. Die 'Datei' ist hier die Standardeingabe selbst. Dies kann wie folgt geschrieben werden:

#include <stdio.h> 
    int main() 
    { 
    int c; 
    while ((c = getchar()) != EOF) 
    { 
    /*getchar() returns the the next available value which is in the input 
    buffer*/  
    putchar(c); 
    } 
    } 
+0

Bitte stellen Sie sicher, dass Sie nicht behaupten, dass der Code, den Sie oben geändert haben, dazu führt, dass EOF das Programm selbst beendet –

Verwandte Themen