HJ1 字符串最后一个单词的长度(strchr找到空格即最后一个单词)

这段代码展示了如何计算一个以空格分隔的字符串中最后一个单词的长度。程序通过`gets()`函数读取输入,使用`strrchr()`查找最后一个空格,然后计算剩余部分的长度作为最后一个单词的长度。示例输入`hellonowcoder`中,最后一个单词`nowcoder`的长度为8。
摘要由CSDN通过智能技术生成

字符串最后一个单词的长度


描述
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。

输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。

hello nowcoder
8
说明:
最后一个单词为nowcoder,长度为8   
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define M_MAX_STR_LEN     5000 
int main()
{
    unsigned int len = 0;
    char *lastStr = NULL;
    char strBuf[M_MAX_STR_LEN] = {0};
    /* 
     * 从标准输入 stdin 读取一行,并把它存储在 str 所指向的字符串中。
     * 当读取到换行符时,或者到达文件末尾时,它会停止 
     * 如果成功,该函数返回 str。如果发生错误或者到达文件末尾时还未读取任何字符,则返回 NULL
     */
    gets(strBuf);
    // printf("strBuf: %s\n", strBuf);
    /* 该函数返回 str 中最后一次出现字符 c 的位置。如果未找到该值,则函数返回一个空指针 */
    lastStr = strrchr(strBuf, ' ');
    if (lastStr == NULL) {
        len = strlen(strBuf);
    } else {
        lastStr++;
        len = strlen(lastStr);
    }

    printf("%d",len);
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未停丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值