Putchar und Getchar in C
Bin ich beim Lesen K&R ist Der Programmiersprache C und haben verwirrt auf putchar und getchar. Ich machte ein Programm, wo Sie 10 chars und das Programm druckt Ihnen wieder auf den Bildschirm.
#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;
}
Erwartet, dass ich bekommen eine Ausgabe wie diese:
Enter a single character >> a
a
Enter a single character >> b
b
...und so weiter 10 mal, aber das ist die Ausgabe, die ich habe: (ich habe aufgehört nach der Eingabe von 2 chars)
Enter a single character >> a
aEnter a single character >>
Enter a single character >> b
bEnter a single character >>
Enter a single character >>
nicht sicher, warum meine eingegebenen Zeichen wird in Kombination mit der festen Zeichenfolge und ausgegeben wird.
Außerdem bin ich mir auch nicht sicher, warum int-Werte verwendet werden, um Zeichen zu speichern.
InformationsquelleAutor CS Student | 2013-10-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
druckt nur einzelne Zeichen und die folgenden
printf
weiterhin in der gleichen Zeile. Fügen Sie einfach:direkt nach
putchar(ch);
, die explizit starten Sie die neue Zeile vor derprintf
ausgeführt wird. Darüber hinaus sollten Sie nehmen'\n'
von der Eingabe bleibt es nach Eingabe des Zeichens:Ich sehe. Check meine Antwort jetzt 🙂
InformationsquelleAutor LihO
Sind Sie nicht drucken Sie eine neue Zeile. Nach
putchar(ch);
Sie verwenden solltenputchar('\n');
zu drucken eine neue Zeile.InformationsquelleAutor clcto