题目描述:
描述
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
示例1
输入:
hello nowcoder
输出:
8
说明:
最后一个单词为nowcoder,长度为8
代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char str[5000];
gets(str);
char *strlast;
int len=0;
strlast = strrchr(str,' ');
if(strlast == NULL) {
len = strlen(str);
printf("%d",len);
}
else{
while(*strlast != '\0')
{
len++;
strlast++;
}
printf("%d",len-1);
}
return 0;
}
这是一道基础到不能再基础的题;但是还是花了一点时间才通过,天啊....
一开始我用scanf("%s",str);去读字符串...scanf遇到空格是会停止的啊天!
以后记的 读取带空格的字符出串用gets()!!!!
学习了char *strrchr(const char *str,