首页 > 其他 > 详细

打印最长的输入行

时间:2016-02-25 13:33:12      阅读:158      评论:0      收藏:0      [点我收藏+]

参考《C程序设计语言》

注意输出中光标的位置

对于getline, 由于函数的默认返回值类型为int, 因此这里的int可以省略。

#include<stdio.h>
#define MAXLINE 4 //允许的输入行的最大长度
//getline函数: 将一行读入到s中并返回其长度
int getline(char s[], int lim){
    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;
}
//getline函数: 将from复制到to;这里假定to足够大
void copy(char to[], char from[]){
    int i;
    i=0;
    while((to[i]=from[i])!=\0)
        ++i;
}
int main(){
    int len;//当前行长度
    int max;//目前为止发现的最长行的长度
    char line[MAXLINE];//当前的输入行
    char longest[MAXLINE];//用于保存最长的行
    max=0;
    while((len=getline(line,MAXLINE))>0)
        if(len>max){
            max=len;
            copy(longest,line);//存这样的行
        }
    if(max>0)
        printf("%s",longest);
    getchar();
    return 0;

}

实验结果

技术分享   

技术分享

打印最长的输入行

原文:http://www.cnblogs.com/learning-c/p/5216450.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!