Il mio è un problema piuttosto banale, ma essendo agli inizi basici del linguaggio C, volevo capirne qualcosa e spero possiate aiutarmi a comprendere questo piccolo frammento di codice.
dichiaro la variabile intera ch :
int ch;
apro un ciclo while :
while((ch = getchar()) != EOF)printf("r");
il programma è abbastanza semplice ed insignificante, ma ripeto, mi serve più che altro per capire.
inizializzo la variabile ch assegnandogli la funzione getchar, quindi l'utente digiterà qualunque cosa e la darà in pasto a getchar. Fino a che ch non sarà uguale ad EOF, ovvero fintanto che l'utente non uscirà dal programma, il flusso while stamperà a video la lettera 'r'. Qui sorge un problema, perché ogni qualvolta si digita un carattere la funzione print stamperà due 'r' e non una soltanto. Sapete dirmi il perché di questa cosa?
Grazie mille per tutte le risposte