统计字符串中的单词数量

#include <stdio.h>
#include <ctype.h> // 用于 isspace 函数

int main() {
    int in_word = 0; // 标记是否在单词中
    int num = 0;     // 统计单词的个数
    char string[100]; // 存储输入的字符串

    // 提示用户输入字符串
    printf("请输入一个字符串: ");
    fgets(string, sizeof(string), stdin);

    // 遍历字符串中的每个字符
    for (int i = 0; string[i] != '\0'; i++) {
        if (isspace(string[i])) {
            in_word = 0; // 遇到空格,标记为不在单词中
        } else if (in_word == 0) {
            in_word = 1; // 遇到非空格字符且之前不在单词中,标记为在单词中
            num++;       // 单词数量加1
        }
    }

    // 输出单词数量
    printf("单词数量: %d\n", num);

    return 0;
}


int isspace(int c);
1.要检查的字符,以 int 形式传递。通常是一个 char 类型的值。
它接受一个 int 类型的参数 c ,这个参数通常是一个字符的 ASCII 码值(也可以直接传入字符,因为字符在参与运算时会自动转换为对应的 ASCII 码值)。
参数c:

2.返回值:如果 c 是空白字符,返回 非零值(通常是 1),如果 c 不是空白字符,返回 0。






char *fgets(char *str, int num, FILE *stream);
str:指向用于存储读取到的字符串的字符数组的指针。
num:指定要读取的最大字符数(包括字符串结束符'\0')。
stream:指向要从中读取数据的文件流指针。当从标准输入读取时,使用stdin。
2. 功能描述
fgets函数从指定的文件流stream中读取最多num - 1个字符到字符数组str中。它会在遇到换行符'\n' 、文件结束符或者读取了num - 1个字符后停止读取。读取完成后,它会在字符数组末尾自动添加一个字符串结束符'\0'。
3. 返回值
如果读取成功,fgets函数返回指向存储读取字符串的字符数组str的指针,即str本身。
如果遇到文件结束且没有读取到任何字符,函数返回NULL。
如果在读取过程中发生错误,函数同样返回NULL。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值