题解 | #字符串最后一个单词的长度#
字符串最后一个单词的长度
https://www.nowcoder.com/practice/8c949ea5f36f422594b306a2300315da
1、输入字符串,利用scanf("%[\n]", ),可以读空格,换行时才结束。
2、利用strrchr()库函数找出最后一次出现空格的地方,并且返回当前位置指针,如果找不到就返回NULL。
(1)如果不为NULL则说明,该字符串有多个单词组成,而strrchr()返回的是最后一个空格的位置指针,即最后一个单词起始位置的前一个位置指针,利用strlen()计算该子串长度减1即为最后一个单词的长度。
(2)若返回值为NULL则说明该字符串中没有空格,即只有一个单词,那么利用strlen()得出整个字符串的长度即可。
#include<stdio.h>
#include<string.h>
int main()
{
char str[5000];
char *sub_str=NULL;
unsigned short last_word_len=0;
sub_str=strrchr(str,' '); //找出最后一个空格的位置
if(sub_str==NULL) //只有一个单词或者没有单词
{
last_word_len=strlen(str);
}
else //有多个单词
{
last_word_len=strlen(sub_str)-1;
}
printf("%d",last_word_len);
return 0;
}
腾讯成长空间 6074人发布
