关于判断英文单词个数的代码

题目

img


我的代码

#include <stdio.h>
int main()
{
    char arr[20];
    int word,i=1,num=0;
    printf("请输入一个字符串:");
    while((arr[i]=getchar())!='0')
    {
        if((arr[i]!=' ')&&(arr[i-1]==' '))
        {
            word=1;
            num++;
        }
        else
        word=0;
        i++;
    }
    printf("There are %d words in this line.",num);
    return 0;
}

运行结果

img

img

求正确的答案,并解释一下为什么arr[0]=0,谢谢。

你漏了一个情况,就是最后一个单词结束没有空格。