黑马程序员技术交流社区

标题: 黑马入学测试题代码提示黄色警告,求高手解答,谢谢 [打印本页]

作者: guobao717    时间: 2015-11-3 21:26
标题: 黑马入学测试题代码提示黄色警告,求高手解答,谢谢
在一个已知的字符串中查找最长单词, 假定字符串中只含字母和空格,空格用来分隔不同单词。(C语言)
xcode报错
    for (int i=0; i<strlen(c); i++) {
#include <stdio.h>这段代码黄色报错求教
源代码在下面
int main(int argc, const char * argv[]) {
    // 定义字符串
    char c[]=" hei ma ";
    //定义变量,a,b,len
    //b:最长单词前面空格的下标,a:最近出现的空格或'\0',
    //len表示长度
    int a = 0,b = 0,len = 0;
    //用循环语句进行判断
    for (int i=0; i<strlen(c); i++) {
        if (c[i]==' '||c[i]=='\0') {
            if (len<i-a) {
                len=i-a;
                b=i-len;
            }
            a=i;
        }
    }
    printf("最长单词是:");
   
    for (int i = b+1; c[i]!=' ' && c[i] != '\0'; i++) {
        
        printf("%c",c[i]);

  
    }
}

   
作者: poxiao    时间: 2015-11-3 21:47
楼主参考下:
/*在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main()
{
        char sentence[1024];//定义字符数组存储读入的句子
        size_t length = 0;
        int i, j, maxLen = 0;
        int start, end;//记录最长单词的起始、结束位置
        fgets (sentence, 1024, stdin);//读入一个句子
        length = strlen (sentence);

        for (i = 0, j = 0; i < length; i++)
        {
                j = i;
                while (sentence[i] != ' ' && sentence[i] != '\0')
                        i++;
                if (maxLen < (i - j))
                {
                        maxLen = i - j;
                        start = j;
                        end   = i - 1;
                }

        }
        for (start; start <= end; start++)
                printf("%c", sentence[start]);

        return 0;
}
楼主是报的哪一期?
作者: wwf707542865    时间: 2015-11-3 21:54
strlen需要引用一个头文件 string.h
作者: c9527    时间: 2015-11-4 11:56
#include <string.h>

作者: 勇猛的小黑    时间: 2015-11-4 15:33
三楼正解
作者: 许本亮    时间: 2015-11-4 16:20
代码中使用字符串所以需要导入# include <string.h>头文件
作者: guobao717    时间: 2015-11-5 23:40
wwf707542865 发表于 2015-11-3 21:54
strlen需要引用一个头文件 string.h

发现了,谢谢指教
作者: guobao717    时间: 2015-11-5 23:41
poxiao 发表于 2015-11-3 21:47
楼主参考下:
/*在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。* ...

准备下个月5号的不过现在基础自学的还不怎样
作者: guobao717    时间: 2015-11-5 23:42
c9527 发表于 2015-11-4 11:56
#include

谢谢,我自学没几天基础还不行
作者: shengping110    时间: 2015-11-5 23:42
6666666666666




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2