Hier ist mein Code. Ich betreibe es in Ubuntu mit Terminal. Wenn ich im Terminal ein (CtrlD) eintippte, stoppte das Programm nicht, aber wartete weiter auf meine Eingabe.ctrl-d hat die while nicht gestoppt (getchar()! = EOF) Schleife
Ist das nicht CtrlD gleich EOF in Unix?
Vielen Dank.
#include<stdio.h>
main() {
int d;
while(d=getchar()!=EOF) {
printf("\"getchar()!=EOF\" result is %d\n", d);
printf("EOF:%d\n", EOF);
}
printf("\"getchar()!=EOF\" result is %d\n", d);
}
Das ist keine Rekursion. Es ist nur eine Endlosschleife, bis Sie die Eingabe beenden. Recursion = Funktion, die sich direkt oder nach einer anderen Anzahl von Zwischenschritten aufruft. –
Kompiliert, dass mit gcc, schlug '^ D' die Schleife für mich. –
@JonLin Einfach eingeben^D .Es funktioniert auch für mich. Wenn die Eingabe jedoch (a^D) ist, wurde die Schleife nicht angehalten. – Sam