问个简单C语言问题?

来源:百度知道 编辑:UC知道 时间:2024/05/30 09:46:59
#include<stdio.h>
void main()
{
char s[345];
int i,count=0;
gets(s);
for(i=0;s[i]!='\0',i++)
if(s[i]=' ')count++;
printf("%d",count);

}求单词个数,请问,错在哪里?

你的这个写的也太简单了!
就像一楼说的,假如一直空格呢?
应该做一个判断的!
还有你的if里面的是赋值不是条件判断!

应这样写:
1.首先去掉连续的空格!就是连续的空格就替换为一个空格!
2.再去判断空格数!
3.注意最后一个单词后面的情况!

即使没有语法错误也求不到正确的值
空格连续的话会怎样呢

if(s[i]=' ')
改成:
if(s[i]==' ')

for循环里的分号;
if里的等号==
还有count要加1