能帮我解释一下这个程序吗?特别是我标注的几个地方,看不懂
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
//望采纳,嘻嘻/*这个程序是读入一组文本行,并把最长的文本行打印出来*/#include#defineMAXLINE1000intgetline(charline[],intmaxiline);voidcopy(charto[],charfrom[]);/*打印最长的输入行*/main(){intlen;/*当前行长度*/intmax;/*目前为止发现的最长行的长度*/charline[MAXLINE];/*当前的输入行*/charlongest[MAXLINE];/*用于保存最长的行*//*打印最长的输入行*/max=0;while((len=getline(line,MAXLINE))>0)if(len>max){max=len;copy(longest,line);}if(max>0)/*存在这样的行*///这里的if语句是为了判断是否有输入行,有则输出最长的,没有就return0;printf("%s",longest);return0;}/*getline函数:将一行读入到s中并返回其长度*/intgetline(chars[],intlim){intc,i;for(i=0;i |
|
|
|
|
/*这个程序是读入一组文本行,并把最长的文本行打印出来*/#include#defineMAXLINE1000intgetline(charline[],intmaxiline);voidcopy(charto[],charfrom[]);/*打印最长的输入行*/main(){ intlen;/*当前行长度*/ intmax;/*目前为止发现的最长行的长度*/ charline[MAXLINE];/*当前的输入行*/ charlongest[MAXLINE];/*用于保存最长的行*//*打印最长的输入行*/ max=0; while((len=getline(line,MAXLINE))>0) if(len>max){ max=len; copy(longest,line); } if(max>0)/*存在这样的行*///这里的if语句有什么用,是为了排除'\0'的存在吗? printf("%s",longest); return0;}/*getline函数:将一行读入到s中并返回其长度*/intgetline(chars[],intlim){ intc,i; for(i=0;i |
|
|
|
|
这里的'\0'是代表空字符,看错了,但是仍有问题,为什么又把s【i】=0,那这样前面的不就没用了吗? |
|
|
|
|