这段C程序设计语言书上的代码,运行后按回车只换行并没有输出最长的行,为什么

#include
#define MAXLINE 1000
int getline(char line[],int maxline);
void copy(char to[],char from[]);
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';
return i;
}
void copy (char to[],char from[])
{
int i;
i = 0;
while((to[i] = from[i]) !='\0')
i++;
}

查看全部
weixin_34433129
KingintheNorth
2016/04/24 13:24
  • c
  • c语言
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

2个回复