这段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++;
}
KingintheNorth
2016/04/24 13:24- c
- c语言
- 点赞
- 收藏
- 回答
满意答案
2个回复
