getchar()不是输入字符么?getchs()才输入字符串么?

char c;
int letters=0,spaces=0,digits=0,others=0;
printf("请输入一些字母:\n");
while((c=getchar())!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
letters++;
else if(c>='0'&&c<='9')
digits++;
else if(c==' ')
spaces++;
else
others++;
}

C里面不是应该是字符么?为什么是字符串?

getchar()不是输入字符
是啊
你没看到这里用单引号么,就是字符啊。

getchar()是输入一个字符(这个字符可以是ASCII码表中的所有字符)
gets()是输入一个字符串(这个字符串里面可以包含空格),回车表示输入结束

getchar()是输入一个字符,而gets()是输入一个字符串