Piccolo problemino col linguaggio C

mister_c
Un saluto a tutti gli amici del forum.
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 :

[inline]int ch;[/inline]

apro un ciclo while :

[inline]while((ch = getchar()) != EOF)printf("r");[/inline]

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 :smt023

Risposte
vict85
Immagino tu stia andando a capo dopo ogni carattere. Il carattere '\n' non viene ignorato da getchar().

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.