getchar吸收空格。
题目描述 从键盘任意输入一个字符,编程判断是否是字母(包括大小写)。
输入描述: 多组输入,每行输入包括一个字符。
输出描述: 针对每行输入,输出该字符是字母(YES)或不是(NO)。
示例1 输入 H 9
输出 YES NO
#include<stdio.h>
int main()
{
int ch;
while ((ch=getchar())!=EOF)
{
if((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z'))
printf("YES\n");
else
printf("NO\n");
getchar();
}
return 0;
}
因为不知道输入的是字母or数字,所以用getchar吸收字符,注意:getchar函数一次只能吸收一次字符。若不加最后的getchar,显示结果为:
输入h的时候要敲回车(空格录入),getchar一次吸收一个字符,所以先吸收9,显示yes,自动吸收\n,显示no。
补充
介绍一下以下三个函数的区别。
getchar:按空格,回显。
getch:不需要空格,不回显。
getche:不需要空格,回显。
下期见喽。