用c语言编程,输入一个字符串统计其中英文字母、数字、空格、其他字符的个数,写的哪里有错?求高手指教。

输入的字符都被当做空格处理了,很郁闷

#include<stdio.h>
void main()
{
int i=0,j=0,k=0,l=0;//统计其中英文字母,空格,数字和其他字符的个数
char c;
printf("输入字符串\n");
while((c=getchar()!='\n'))
{
if((c>='A'&&c<='Z')||(c>='a'&&c<='z'))
i++;
else
if(c=' ')
j++;
else
if(c>='0'&&c<='9')
k++;
else
l++;
}
printf("英文字母%d,空格%d,数字%d,其他字符%d\n",i,j,k,l);

}

两个错,一个就是while((c=getchar())!='\n')
另一个是 else
if(c==' ')
j++;追问

噢 好厉害的说,对了,但是while((c=getchar())!='\n')我写成while((c=getchar()!='\n'))
怎么不行的呢??

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-23
把while((c=getchar()!='\n'))
改成while((c=getchar()!)='\n')再试试
写完程序之后检查非常重要追问

没有

追答

我打错了,改成
while((c=getchar())!='\n')
这个问题最好用字符串和指针来解决,
用getchar函数不能得到最好的结果

第2个回答  2011-07-23
"!="的优先级大于"="
第3个回答  2011-07-23
if(c=' ')
应该是if(c == ' ')吧?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网