c语言 统计空格个数

#include<stdio.h>
main()
{
int a,b;
for (a=0;b=(getchar())!=EOF; a=a)
{if (b==' ')
++a;
}
printf("%d",a);

}

结果出不来,为什么??????????
我是菜鸟,救救我

b=(getchar())!=EOF这里出问题了!赋值(=)符号优先级低于逻辑运算符!=,所以得到的b只有0或1~
话说貌似EOF是要ctrl+z作为输入结束的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-04
#include<stdio.h>
void main()
{
int a,b=0,i;
char c[50]="huan ying lai dao zi fu de shi jie";
for(i=0;i<50;i++)
{
printf("%c",c[i]);
if (c[i]==' ')
{
b++;
}
}
printf("\n一共有%d个空格\n",b);
}
 我这自定义了一句话,求出里面一共出现过几个空格.你看看 
你那for里的 a=a用的实在太霸道了.貌似完全多余,还是死循环一个啊.看不懂.
加一个if也行,遇到回车break;
相似回答