输入并打印最大行
#include<stdio.h>#define MAXLINE 1000
int getline(char line[],int maxline);
void copy(char to[],char from[]);
main()
{
int len,max=0;
char line[MAXLINE],longest[MAXLINE];
while((len=getline(line,MAXLINE))>0)
if(len>max)
{
max=len;
copy(longest,line);
}
if(longest>0)
printf("%s",longest);
return 0;
}
int getline(char s[],int lim)
{
int i,c;
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=0;
while((to[i]=from[i])!='\0')
i++;
}
这个题是让输入一个文本行 打印最长文本行 问题如下1.getline弄成一个数组不可以吗 为什么getline(char line[],int maxline) char line[]是算输入的这行的字符数有多少个 算长度的 int maxline做什么的啊 是不是用输入行和最大长度比 看有没有输入的行大于最大行?2.
s[i]=c;
if(c=='\n')
{
s[i]=c;
i++;
}
s[i]='\0';不明白啊 把c赋给s[i]? 如果是回车符 也加一 怎么又一个s[i]=c 最后的s[i[='\0'是什么意思
3.copy到底起什么作用 保存最大行?我感觉不用保存啊?
4.char line[MAXLINE],longest[MAXLINE]; 是数组我知道 但是后面【】中是MAXLINE 真心请教 希望好心人讲解的细点 谢谢啊