[求助]急啊:请大家看看这个题目为什么出错!
题目:输入一行字符,分别统计其中英文字母,空格,数字和其它字符的个数
我的解答:
/*****习题6.2*****/
#include<stdio.h>
int main(void)
{
int letter,space,number,others ;
char s ;
printf("Please input some chars:");
letter=0 ;
space=0 ;
number=0 ;
others=0 ;
s=getchar();
while((s=getchar())!='\n')
{
if(s>='0'&&s<='9')number++;
else if((s>='A'&&s<='Z')||(s>='a'&&s<='z'))letter++;
else if(s==' ')space++;
else others++;
}
printf("letter=%d\nnumber=%d\nspace=%d\nothers=%d\n",letter,number,space,others);
getch();
return(0);
}
调试环境:TC2.0 Win-TC1.91 VC++6.0
问题:在调试运行时,每次输入的第一个字符总是没有被统计到,例如输入"abcd12" (不包括引号) 运行结果是:
letter=3
number=2
space=0
others=0
我特地在TC/WIN-TC/VC++6.0中试了很多次,结果都是这样,请问这是什么原因啊?