您的位置:首页 > 其它

获得文本中最长的一行并打印

2016-08-28 13:38 288 查看
#include<stdio.h>

#define MAXLINE 1000

int getline1(char line[], int maxline);  // 这里的getline会与stdio.h头文件里里面的getline冲突  故改为getline1

void copy(char to[], char from[]);

main()

{

    int len;

    int max;

    char line[MAXLINE];

    char longest[MAXLINE];

    max = 0;

    while((len = getline1(line,MAXLINE)) > 0)

        if(len > max){

            max = len;

            copy(longest, line);

        }

    if(max > 0)

        printf("%s",longest);

    return 0;

}

int getline1(char s[], int lim)      //将获得的一行存储进是s[]中  返回字符串长度

{

    int c, i;

    for(i = 0; i<lim-1 && (c=getchar())!=EOF && c!='\n'; ++i)

        s[i] = c;

    if(c == '\n'){

        s[i] = c;

        ++i;

    }

    s[i] = '\0';

    return i;

}

void copy(char to[],char from[])    //copy程序

{

    int i;

    i = 0;

    while((to[i] = from[i]) != '\0')  //当把\0赋值给to之后  跳出while循环

        ++i;    // 这个也能得到字符串的长度

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: