Sto leggendo K & R's The C Programming Language e sono diventato confuso su putchar e getchar. Ho creato un programma in cui inserisci 10 caratteri e il programma li stampa di nuovo sullo schermo.Putchar e Getchar in C
#include <stdio.h>
int main()
{
int i;
int ch;
for(i = 0; i < 10; i++)
{
printf("Enter a single character >> ");
ch = getchar();
putchar(ch);
}
return 0;
}
mi aspettavo di ottenere un output simile a questo:
Enter a single character >> a
a
Enter a single character >> b
b
... e così via per 10 volte, ma questo è l'output che ho ottenuto: (mi sono fermato dopo l'ingresso 2 caratteri)
Enter a single character >> a
aEnter a single character >>
Enter a single character >> b
bEnter a single character >>
Enter a single character >>
non sono sicuro del motivo per cui il mio carattere di input viene combinato con la stringa fissa e viene emesso.
Inoltre, non sono troppo sicuro del perché vengono utilizzati i caratteri per memorizzare i caratteri.
Grazie per la risposta ma il codice continua a non funzionare, "Inserisci un singolo carattere >>" viene ancora stampato due volte quando non dovrebbe essere. Se guardi il mio post principale e l'ultimo blocco di codice puoi vedere sulla seconda riga cosa intendo, il carattere è stato aggiunto alla stringa "Inserisci un singolo carattere >>" e quindi "Inserisci un singolo carattere >> "la stringa viene immediatamente stampata sullo schermo. –
@CSStudent: vedo. Controlla la mia risposta ora :) – LihO