c语言问题不知道怎么想,也有点不理解

include

main()
{char str[81];
int I,( );
char c;
gats(str);
for(I=0;( )!=’\0’;I++)
if(c==’ ’)word=0;
else if( )
{word=1;
( )}
printf(“There are %d word in line. \n”,num);
}
答案:1、num=0,word=0  2、c=str[I] 3、word==0   4、num++;

word来区分前一个字符是单词还是空格,那么当前字符不是空格(c==' '为假)并且前一个字符是空格(word==0)是就是一个单词开始,加一个计数num++
初始化word=0用来对应第一个字符就是单词的情况。