从键盘里输入一行字符,统计其中有多少个单词,单词之间用空格分隔。

img


从键盘里输入一行字符,统计其中有多少个单词,单词之间用空格分隔。请问哪里有问题

可采纳
11 、13行
c2=‘ ’
if语句里面写错了吧
你直接判断空
可参考

#include <stdio.h>
#include <string.h>
int main() {
    char str[100];
    int count = 0;
    int i = 0;
    printf("请输入一行字符:");
    scanf("%s", str);
    while (str[i] != '\0') {
        if (str[i] == ' ') {
            count++;
        } else {
            i++;
        }

    }

    printf("单词数:%d", count);

    return 0;

}


题主代码修改如下,供参考:

#include <stdio.h>
int main() 
{
    char str[80];
    int  cnt = 0, i = 0, flg = 0;
    printf("Please input a string:\n");
    gets(str);
    while (str[i] != '\0') {
        if (str[i] != ' ') {
            if (!flg)
                cnt++;
            flg = 1;
        }
        else 
            flg = 0;
        i++;
    }
    printf("单词数:%d", cnt);
    return 0;
}