我正在閱讀K & R的The C Programming Language,並且對putchar和getchar感到困惑。我製作了一個程序,您可以輸入10個字符,程序將其打印回屏幕。Putchar和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;
}
我希望得到這樣的輸出:
Enter a single character >> a
a
Enter a single character >> b
b
...等等10倍,但是這是我得到的輸出:
(我進入2個字符後停止)Enter a single character >> a
aEnter a single character >>
Enter a single character >> b
bEnter a single character >>
Enter a single character >>
不確定爲什麼我的輸入字符與固定字符串結合並被輸出。
此外,我不太確定爲什麼整數用於存儲字符。
感謝您的回覆,但代碼仍然不起作用,「輸入單個字符>>」在不應該出現時仍會打印兩次。如果你看看我的主帖和最後一個代碼塊,你可以在第二行看到我的意思,char a已經加入到字符串「輸入單個字符>>」,然後「輸入單個字符」 「字符串會立即再次打印到屏幕上。 –
@CSStudent:我明白了。現在檢查我的答案:) – LihO