#include <stdio.h>
#include <stdlib.h>
#define MAXLINE 1000
int getline(char line[], int maxline);
void copy(char to[], char from[]);
int main()
{
int len = 0;
int max = 0;
int prevlen = 0;
char line[MAXLINE];
char longest[MAXLINE];
char prevline[MAXLINE];
do{
len = getline(line , MAXLINE);
if (len == 0){
break;
}
if (prevlen == 0){ //如果之前没数据,说明是这一行的首次读取
copy(prevline, line);
} //如果不是首次读取,就不用再复制了
if(len == MAXLINE - 1 && line[MAXLINE - 1] != '\n'){ //非正常结尾,说明要把上一次内容累加一下
prevlen = prevlen + len;
len = prevlen + len;
}
else{
prevlen = 0; //正常结尾,清空前面缓存的长度
}
if (len > max){
max = len;
copy(longest, line);
}
}while(1);
if (max > 0){
[C程序设计语言]练习1-16 修改打印最长文本行的程序的主程序main, 使之可以打印任意长度的输入行的长度, 并尽可能多的打印文本。
最新推荐文章于 2020-04-13 20:13:01 发布