在这里“=”和“==”有什么不同

int main(void)
{
char ch;
int s_c,n_c,_ch;
s_c=n_c=_ch=0;

printf("Enter the character for count('#' to quit):\n");
while((ch=getchar())!='#')
{
//if(isspace(ch))
if (ch==' ')
s_c++; //统计空格
else if(ch=='\n')
n_c++; //统计换行符
else
_ch++; //统计其他字符
}
printf("Space count=%d,'\n' count=%d,other characters=%d\n"
,s_c,n_c,_ch);

return 0;
}
这个代码中的“if (ch==' ')”换成“if (ch=' ')”为什么就不行了?等于和双等于有什么不同吗

= 是赋值
==是判断是否相等
差距大了

=是运算符,==是比较符,不能同一而论