当前位置: 代码迷 >> C语言 >> 一个程序有一点看不懂,请给说说。
  详细解决方案

一个程序有一点看不懂,请给说说。

热度:90   发布时间:2007-09-13 15:38:17.0
一个程序有一点看不懂,请给说说。
#include<stdio.h>
main()
{
char string[81];
int i,num=0,word=0;
char c;
gets(string);
for(i=0;(c=string[i])!='\0';i++)
if(c==' ')word=0;
else if(word==0)
{
word=1;
num++;
}
printf("There are %d words in the line.\n",num);
}
就是if语句那里看不懂,不知道这个功能是怎么实现的。
搜索更多相关的解决方案: word  include  

----------------解决方案--------------------------------------------------------

好好看看吧,很简单的程序。。。。


----------------解决方案--------------------------------------------------------

先把字符串给string,然后循环,如果遇到空格word就为0,否则做判断word是否为0,如果word为0,就让word为1,num自加,这段程序是求在字符船内有几个空格,如果把空格换成字母就是求字符串内有几个这种字母


----------------解决方案--------------------------------------------------------

word变量就像布尔型,为零(即遇到空格)表示已经组成一个单词了,如果为1就是正在组一个单词,单词计数!


----------------解决方案--------------------------------------------------------

有问题啊 输出只有一词 请指教


----------------解决方案--------------------------------------------------------
以下是引用sunyuantz在2007-9-13 16:08:08的发言:

先把字符串给string,然后循环,如果遇到空格word就为0,否则做判断word是否为0,如果word为0,就让word为1,num自加,这段程序是求在字符船内有几个空格,如果把空格换成字母就是求字符串内有几个这种字母

“如果word为0,就让word为1”就是里不太懂,是怎么回事呢?


----------------解决方案--------------------------------------------------------

能不能搞点注释在上面呢?
三楼的仁兄,说的有点看不懂了.


----------------解决方案--------------------------------------------------------
回复:(lerysal)以下是引用sunyuantz在2007-9-13 16...
如果当前字符不为空格且word=0,则表示进入一个新的单词,word标记为1
----------------解决方案--------------------------------------------------------

我运行了,这个程序是错的,大家不要浪费时间.


----------------解决方案--------------------------------------------------------

怎么可能,我运行过n次了,完全正确。不用截图了吧。


----------------解决方案--------------------------------------------------------
  相关解决方案