字符串最后一个单词的长度
描述
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于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;
}