在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词
我看了百度上得答案 有点看不懂 有没有人能够给我讲解一下 到底怎么实现的 给个思路也行 百度上得答案是
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "we are family so we should help each other";
printf("%ld\n",strlen(str));
int maxCount = 0; // 记录最大长度
int index = 0; // 记录单词尾字符下标
for (int i = 0; i < strlen(str); ++i) {
int count = 0; // 记录新单词长度
while (str[i] != ' ' && str[i]) { // 字符不是空格也不是\0
i++;
count++; ///长度自加
}
if (count > maxCount) { //比较新单词长度与最大长度
maxCount = count;
index = i - 1;
}
}
printf("最长单词是:");
for (int i = index - maxCount + 1; i <= index; ++i)
printf("%c", str[i]);
printf("\n");
return 0;
} 但是我看不懂他写的 不懂它什么意思 谁帮我解答一下 谢谢 |
|