C语言中数组问题,求各位解答

在C语言中编程实现输人一个含空格的字符串,统计其中有多少个单词(空格分隔单词),输出单词个数和字符串长度。(注意:测试最后是空格和不是空格两种情况。)

代码如下,有帮助的话记得采纳一下哦!

#include<stdio.h>
int main()
{
    char str[100],c;
    int i,num=0,word=0;
    printf("请输入字符串:\n");
    gets(str);               /*输入字符串赋值给数组str*/
    for(i=0;(c=str[i])!='\0';i++)
    {
        if(c==' ')            /*如果当前字符为空格符*/
            word=0;
        else if(word==0)    /*如果前一个字符为非空格*/
        {
            word=1;
            num++;
        }
    }
    printf("单词总数为:%d,字符串长度为:%d",num,i);
    return 0;
}