浙大版《C语言程序设计(第3版)》题目集 习题6-8 统计一行文本的单词个数 (15分)

浙大版《C语言程序设计(第3版)》题目集 习题6-8 统计一行文本的单词个数 (15分)_第1张图片
题解:指针

#include 
#define MAXN 1000 //假设最多输入1000个字符。
int main()
{
    char str[MAXN], *p; //定义字符数组和字符指针。
    int count = 0;      //计数多少个单词。
    gets(str);          //获取字符串。
    for (p = str; *p;)
    { //p指针指向字符串str,*p表示p指向'\0'是中断循环。
        if (*p != ' ')
        { //检测到非空格,算一个单词。
            count++;
            while (*p != ' ' && *p)
                p++; //移动指针跳过这个单词后的字母。
        }
        else
        {
            while (*p == ' ')
                p++; //若检测到空格,移动指针。
        }
    }
    printf("%d\n", count);
    return 0;
}

你可能感兴趣的:(浙大版《C语言程序设计(第3版)》题目集 习题6-8 统计一行文本的单词个数 (15分))