1、打印最长输入行
问题及代码:
/*打印最长输入行*/
#include <stdio.h>
#define MAXLINE 100
int getline(char line[],int maxline);
void copy(char to[],char from[]);
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);
return 0;
}
/*输入一行,并返回其长度*/
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'; //字符串末尾以'\0'为结尾不能漏了
return i;
}
void copy(char to[],char from[])
{
int i;
i=0;
while((to[i]=from[i])!='\0') //只要复制不到字