课本上的例题:读入一组问本行,并把最长的文本行打印出来
情况:编译运行后只能一直输入字符串,多次回车仍无法实现打印功能
程序代码:#include<stdio.h>
#define MAXLINE 1000//允许输入行的最大长度
int getline(char line[],int maxline);
void copy(char to[],char from[]);
//打印最长的输入行
int main()
{
int max;//目前为止最大行长度
int len;//当前行长度
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);
return 0;
}
// getline函数:将一行读入到s中,并返回其长度
int getline(char s[],int maxline)
{
int i,c;
for(i=0;i<maxline-1 && (c=getchar())!=EOF && c!='\n';++i)
s[i]=c;
if(c=='\n')
{
s[i]=c;
++i;
}
s[i]='\0';
return i;
}
// copy函数:将from复制到to;这里假定to足够大
void copy(char to[],char from[])
{
int i=0;
while((to[i]=from[i])!='\0')
++i;
}







