输入的字符都被当做空格处理了,很郁闷
#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++;追问
另一个是 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')再试试
写完程序之后检查非常重要追问
没有
追答我打错了,改成
while((c=getchar())!='\n')
这个问题最好用字符串和指针来解决,
用getchar函数不能得到最好的结果
第2个回答 2011-07-23
"!="的优先级大于"="
第3个回答 2011-07-23
if(c=' ')
应该是if(c == ' ')吧?
应该是if(c == ' ')吧?