C Programmierung EOF?
Ich soll überprüfen ob der Ausdruck
getchar()!= EOF
1 oder 0 ist.
Wie überprüfe ich das? Ich weiss nicht wie ich das im Terminal am besten überprüfen kann.
Danke im voraus
3 Antworten
![](https://images.gutefrage.net/media/user/milos2/1556462690482_nmmslarge__0_0_240_240_01491cf2ae66a3cd00ab6dfcdc2fe76b.png?v=1556462690000)
Die Fragestellung ergibt gar keinen Sinn. Über getchar wird ein Zeichen eingelesen. Du kannst über eine while-Schleife so lange die Zeichen einlesen, bis EOF erreicht ist.
int c;
while ((c = getchar()) != EOF)
putchar(c);
Wenn du den Wert von EOF kennen willst, kannst du dir den einfach ausgeben lassen:
printf("%d\n", EOF);
EOF ist übrigens -1. Alternativ kannst du dir die Header-Datei stdio.h anschauen. Dort ist das Makro zu finden:
#define EOF (-1)
![](https://images.gutefrage.net/media/user/regex9/1455660989427_nmmslarge__0_13_270_270_615d5a3bc6888f4c1486ce2b4d9d8f60.png?v=1455660989000)
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren
Das Ergebnis kannst du in eine int-Variable stopfen und die dann ausgeben. Die EOF müsstest du auf der Konsole mit Ctrl + Z (Windows OS) provozieren können.
![](https://images.gutefrage.net/media/user/SirPeterGriffin/1474278814328_nmmslarge__0_8_179_179_abec3a4e6d4d7e2a8ba1b332cdda124d.png?v=1474278816000)
if else verknüpfung