Ich lese K & Rs Die C-Programmiersprache und sind auf putchar und getchar verwirrt worden. Ich habe ein Programm erstellt, in dem Sie 10 Zeichen eingeben und das Programm druckt sie auf dem Bildschirm aus.Putchar und 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;
}
ich erwartet, dass eine Ausgabe wie folgt zu erhalten:
Enter a single character >> a
a
Enter a single character >> b
b
... und so weiter 10-mal, aber das ist der Ausgang bekam ich: (Ich hörte nach der Eingabe 2 Zeichen)
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 mein Eingabezeichen mit der festen Zeichenfolge kombiniert und ausgegeben wird.
Auch ich bin mir nicht sicher, warum Ints verwendet werden, um Zeichen zu speichern.
Danke für die Antwort, aber der Code funktioniert immer noch nicht, "Geben Sie ein einzelnes Zeichen >>" wird immer noch zweimal gedruckt, wenn es nicht sein sollte. Wenn Sie sich meinen Hauptpost und den letzten Codeblock ansehen, können Sie in der zweiten Zeile sehen, was ich meine, das Zeichen a wurde mit der Zeichenkette "Gib ein einzelnes Zeichen >>" verbunden und dann "Gib ein einzelnes Zeichen ein >>" "Die Zeichenfolge wird sofort erneut auf dem Bildschirm gedruckt. –
@CSStudent: Ich verstehe. Überprüfen Sie meine Antwort jetzt :) – LihO