欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

1.计算字符串最后一个单词的长度,单词以空格隔开

程序员文章站 2022-03-06 10:03:08
...

1.计算字符串最后一个单词的长度,单词以空格隔开

自我解析:由于输入描述中给出了字符串的最大长度,因此用最简单粗暴的方法,申请一个大小为5000的字符串数组。

但是scanf遇到回车、空格、tab均会自动在字符串后添加'\0',根据使用strlen函数获取字符串长度的原理,选择通过gets函数获取字符串(能够将回车作为'\0'存入数组末端,接受之前输入的所有字符),再从数组末端开始遍历直到字符串开头或者第一个空格(' ')停止。

注:strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。

#include <stdio.h>
#include <string.h>

int main(){
    char str[5000];
    gets(str);
    int i;
    int length = strlen(str);
    int count = 0;
    for(i = length - 1; i >= 0; --i){
        if(str[i] != ' '){
            count++;
        }
        else{
            break;
        }
    }
    printf("%d\n", count);
    return 0;
}