题目如下:

描述

计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。
(注:字符串末尾不以空格为结尾

输入描述:

输入一行,代表要计算的字符串,非空,长度小于5000。

输出描述:

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

解题思路:
1、声明一个字符数组word,并初始化;
2、使用scanf 方式输入字符串,并将其放入字符数组中;
     特别注意scanf输入时的 "%[^\n]" 操作,[^字符A] : 表明只有在遇到字符A时,输入才会截止
     同样scanf 还有"%[a-z]"  "%[0-9]" 操作,[字符/字符范围]:表明只有在字符或字符范围内,输入才有效
3、逆序进行 字符比较,当其字符与空格字符' ' 相同时,退出for 循环;
      这里又有一个 新手和 老鸟 都会忽视的地方,单引号、双引号、不带引号 分别代表什么意思?
     单引号 ‘a’    ‘A’  用于指代字符a    A ,   一般用法if(word[i] == 'a')  判断是否为字符a ,   
     双引号”a"  “A” 则用于指代字符串、常量,  一般用法 const char * = "abdcd";
     不带引号 a  A  则用来指代 变量,  一般用法 a = 100;   int i = a;  

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

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