#include <stdio.h>
int main() {
? ? char ch;
? ? int count = 0;
? ? printf("請輸入一串字符:\n");
? ? while ((ch = getchar())!= '\n') {
? ? ? ? if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
? ? ? ? ? ? count++;
? ? ? ? }
? ? }
? ? printf("字母的個數為:%d\n", count);
? ? return 0;
}
getchar()用于 從標準輸入(鍵盤)逐個讀取單個字符。
當我們通過鍵盤輸入字符時,這些字符首先被存儲在輸入緩沖區中,?getchar()?函數則是從這個緩沖區中讀取字符。
它的特點是:
每次調用 getchar()會讀取一個字符(包括空格、換行符等)。
遇到換行符 '\n'(即按下回車鍵)時停止讀取(但 '\n'也會被 getchar()?讀取到)。
用戶輸入 Hello123`并按回車鍵。
getchar()?依次讀取:
? ?'H'(字母,`count++`)
? ?'e'(字母,`count++`)
? ?'l'(字母,`count++`)
? ?'l'(字母,`count++`)
? ?'o'(字母,`count++`)
? ?'1'(數字,不統計)
? ?'2'(數字,不統計)
? ?'3'(數字,不統計)
? ?'\n'(換行符,循環終止)
最終 count = 5('H, e, l, l, o')。
?
?
?
?