From Gossip@caterpillar

C Gossip: putchar()、getchar()、puts()、gets()

如果您只想取得使用者輸入的字元,則可以使用getchar(),它直接取得使用者輸入的字元並傳回,如果只想要輸出一個字元,則也可以直接使用putchar(),以下是個簡單的示範:
#include <stdio.h>

int main(void) {
char c;

printf("請輸入一個字元:");
c = getchar();
putchar(c);
putchar('\n');

return 0;
}

 執行結果:

請輸入一個字元:A
A

如果您輸入了兩個以上的字元,則getchar()會取得第一個字元,並將第二個字元留在緩衝區中,直到您使用getchar()或scanf()再次嘗試取得輸入。

如果想要取得使用者輸入的整個字串,則可以使用gets(),它會取得使用者的輸入字串,不包括按下Enter的換行字元碼,而想要輸出整個字串,也可以直接使用puts(),它在輸出字串後,會直接進行換行,例如:
#include <stdio.h>

int main(void) {
char str[20];

puts("請輸入字串:");
gets(str);
puts("輸入的字串為:");
puts(str);

return 0;
}

char str[20]這行宣告一個可以容納20個字元的字元陣列,這是C語言中儲存字串的方式,之後還會介紹陣列與C語言的字串。

執行結果:
請輸入字串:
This is a test!
輸入的字串為:
This is a test!