A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词
我看了百度上得答案 有点看不懂  有没有人能够给我讲解一下 到底怎么实现的 给个思路也行 百度上得答案是
#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;
}  但是我看不懂他写的 不懂它什么意思 谁帮我解答一下 谢谢

1 个回复

正序浏览
晕,我是来看的,怎么没有回答
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马