c程序数组举例3

来源:百度知道 编辑:UC知道 时间:2024/06/07 09:05:54
题目:输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
程序:
#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(c==' ') word=0;
else if(word==0)
{
word=1;
num++;
}
这几句中的else if(word==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; //少个大括号吧,word是标志,读到空格说明一个单词结束,将开始下一个单词
else if(word==0) //word==0说明前边是空格,开始新的单词
{
word=1; //word==1说明上一个读到的是字符,如果读到空格则是单词的结尾
num++; //单词数加1
}
printf("There are %d words in the line.\n",num);
}