想问问各位大神关于scanf和getchar和gets的区别问题
这时一个计算字符串中字母,数字,空格个数的程序。#include<stdio.h>
#include<string.h>
void main()
{
char s;
int letter=0,space=0,number=0,others=0;
printf("please input\n");
while((s=getchar())!='\n')
{
if((s>='a'&&s<='z')||(s>='A'&&s<='Z'))
letter++;
else if(s>='0'&&s<='9')
number++;
else if(s==' ')
space++;
else
others++;
} printf("letter=%d,number=%d,space=%d,others=%d\n",letter,number,space,others);
}
但经过实验,若是有scanf输入字符串,程序没错误但也没有响应。用gets会有错误。用getchar正确。求解为什么?多谢啊