一个程序需要讨论下
输入一行字符分别统计字母,空格,数字和其它字符的个数,程序如下:#include "stdio.h"
void main()
{
char c;
int i,j=0,k=0,l=0,x=0;
printf("请输入任意一串字符:");
getchar(); for(i=0;(c=getchar())!='\n';i++)
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
j++;
else
if(c==' ')
k++;
else
if(c>='0'&&c<='9')
l++;
else
x++;
}
printf("字母有%d个:\n空格有%d个:\n数字式有%d个:\n其它有%d个:\n",j,k,l,x);
}
请注意红字部分,如果加入了getchar()代码,字母的统计个数就会少一个,不加就正常,请高人帮忙分析下是什么原因啊,谢谢!
----------------解决方案--------------------------------------------------------
getchar()就占用了第一个字符了,所以你第一个输入的字符就会在相应的统计数目上少一个
----------------解决方案--------------------------------------------------------
O,谢谢了!请告诉我下getchar()是不是占用getchar(0)的字符啊.?
----------------解决方案--------------------------------------------------------