2 u012076509 u012076509 于 2013.11.13 11:34 提问

关于C代码,统计各种字符个数

void main()
{
char c;
int i=0,letter=0,space=0,digit=0,others=0;
printf("please input some characters\n");
while ((c=getchar()!='\n'))
{
if((c>='a')&&(c<='z')||(c>='A')&&(c<='Z'))
++letter;

    else if(c==' ')
        space++;
    else if(c>='0'&&c<='9')
        digit++;
    else  
        others++;


}
printf("letters=%d,space=%d,digit=%d,others=%d",letter,space,digit,others);
system("pause");

}
为什么上面的不正确,下面的正确呢?
#endif
#if 0
#include
void coun(char s[])
{
int i,m=0,n=0,p=0,d=0;
for(i=0;s[i]!='\0';i++)
{if(s[i]==' ')
p++;
else if((s[i]>='0')&&(s[i]<='9'))
m++;
else if((s[i]>='A')&&(s[i]<='Z')||(s[i]>='a'&&s[i]<='z'))
n++;
else d++;

}

printf("输入的字符串是:%s\n数字的个数:%d\n字母的个数:%d\n空格的个数:%d\n其它字符个数:%d\n",s,m,n,p,d);
}

3个回答

bdyz1016
bdyz1016   2013.11.13 12:22

while ((c=getchar()!='\n'))的问题吧,应该是while (((c=getchar())!='\n')),!=优先级大于=

u012076509
u012076509 谢谢了,我都想两天了!
大约 4 年之前 回复
whizer
whizer   2013.12.02 16:38

while ((c=getchar()!='\n'))
改成下面的试试
while((c=getchar())!='\n')

qq_29120981
qq_29120981   2015.12.23 10:47

你的while里面括号括错了,应该把c=getchar()整个括起来

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!