输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数
测试用例 1 ni12$$↵
字母=2,空格=0,数字=2,其它=2↵
下面是我写的程序,思路就是让ch的初始值为0,然后进入for语句循环,直到输入回车为止,中间还加了个if ch='\n' break;用来跳出。但是无论输入什么结果不知为何都是0。。。我上网查说要用while((ch=getchar())!='\n') 但我不太明白我这种方式为何不可以??
#include <stdio.h>
void main()
{char ch,a=0,b=0,c=0,d=0;
for(ch=0;ch!='\n';)
{ch=getchar();
if ch='\n' break;
if(('a'<=ch&&ch<='z')||('A'<=ch&&ch<='z')) a++;
else {if(ch==' ') b++;
else {if('0'<=ch&&ch<='9') c++;
else else d++;}}}
printf("字母=%d,空格=%d,数字=%d,其他=%d",a,b,c,d);
}