Piccolo problemino col linguaggio C

Messaggioda mister_c » 19/06/2019, 14:18

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 :

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 :smt023
mister_c
Starting Member
Starting Member
 
Messaggio: 1 di 2
Iscritto il: 19/06/2019, 13:59

Re: Piccolo problemino col linguaggio C

Messaggioda vict85 » 19/06/2019, 17:06

Immagino tu stia andando a capo dopo ogni carattere. Il carattere '\n' non viene ignorato da getchar().
vict85
Moderatore
Moderatore
 
Messaggio: 9733 di 19253
Iscritto il: 16/01/2008, 00:13
Località: Berlin


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite