/*******Author: 时光伴岁月************************/
/*******Date: 20170905****************************/
#include<stdio.h>
#define MAXLINE 1000
int get_line(char s[],int lim)
{
int c,i,j=0;
for(i=0;((c=getchar())!=EOF) && (c!='\n');++i)//判断输入的字符是否结束
{ if(i<lim-2){ //防止越界
s[j]=c; //字符存入s[]数组中
++j; //计算数组存放字符的个数
}
}
if(c=='\n'){
s[j]=c; //将换行符存入数组
++j;
++i;
}
s[j]='\0';
//printf("%s\n",s);
return i;
} //该函数功能:将键盘输入的一行存入数组s[]中
void copy(char to[],char from[])
{
int i;
i=0;
while((to[i]=from[i])!='\0')
++i;
}//将一个数组存入到一个更大的数组中
int main(int argc,char *argv[])
{
int len;
int max;
char line[MAXLINE];
char longest[MAXLINE];
max=0;
while((len=get_line(line,MAXLINE))>0){
printf("%d==============%s",len,line);
if(len>max){
max=len;
copy(longest,line);
}
}
if(max>0)
{
printf("longest====%s\n",longest);
}
return 0;
}
调试结果: