#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')。