黑马程序员技术交流社区

标题: 一个关于C语言程序求助 [打印本页]

作者: xiaodixing    时间: 2014-5-29 00:27
标题: 一个关于C语言程序求助
本帖最后由 xiaodixing 于 2014-5-29 20:31 编辑

#include<stdio.h>
int main()
{
    int i=0;
    int len=0;
    int max=0;
    int j=0;
    int m=0;
    char a[100];
    printf("输入一个只含有字母和空格的字符串,间隔用空格分开");
    gets(a);
    for (i=0;a!='\0'; i++)
    {
        if (a!=' ')
        {
            len++;
            continue;
        }
        if (len>max)
        {
            max=len;
            j=i-len;
            m=i;
            len=0;
        }
    }
        for (i=j; i<m; i++) {
        printf("%c",a);
  }
            printf("字符串中最长单词为%d\n",max);

    }
为什么我加上最后的for循环,max的值就变了呢。


作者: 永远不会贬值    时间: 2014-5-29 00:38
改成这样就行了,字符数组变量a都没有下标,所以会出错

#include<stdio.h>
int main()
{
    int i=0;
    int len=0;
    int max=0;
    int j=0;
    int m=0;
    char a[100];
    printf("输入一个只含有字母和空格的字符串,间隔用空格分开");
    gets(a);
    for (i=0;a[i]!='\0'; i++)
    {
        if (a[i]!=' ')
        {
            len++;
            continue;
        }
        if (len>max)
        {
            max=len;
            j=i-len;
            m=i;
            len=0;
        }
    }
    for (i=j; i<m; i++) {
        printf("%c",a[i]);
    }
    printf("字符串中最长单词长度为%d\n",max);
   
}
作者: xiaodixing    时间: 2014-5-29 00:50
奥   谢谢了




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