Ecco il mio codice. Lo eseguo in Ubuntu con terminale. quando digito (a CtrlD) nel terminale, il programma non si è fermato ma ha continuato ad attendere il mio input.ctrl-d non ha interrotto il ciclo while (getchar()! = EOF)
Non è CtrlD pari a EOF in UNIX?
Grazie.
#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);
}
Questa non è una ricorsione. È solo un ciclo infinito fino a quando EOL l'input. Ricorsione = funzione che si chiama direttamente o dopo un altro numero intermedio di passaggi. –
Compilato che con gcc, premendo '^ D' ho interrotto il ciclo per me. –
@JonLin Semplicemente inserisci^D. Funziona anche per me. Tuttavia, quando l'input è (a^D), il ciclo non si è fermato. – Sam