Theorie hinter den Funktionen getchar () und putchar ()

Ich arbeite gerade an "The C Programming Language" von K & R und Beispiel 1.5 hat mich überrumpelt:

#include <stdio.h>

/* copy input to output; 1st version */
int main(int argc, char *argv[])
{
    int c;

    while ((c = getchar()) != EOF)
        putchar(c);

    return 0;
}

Ich verstehe, dass 'getchar ()' ein Zeichen benötigt, damit 'putchar ()' angezeigt wird. Wenn ich das Programm im Terminal ausführe, warum kann ich dann eine ganze Zeichenzeile übergeben, damit 'putchar ()' angezeigt wird?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage