读入一组文本行,并将最长的行打印出来
来源:C语言程序设计1.9字符数组例
自己敲代码时出现了一些问题,都是一些小的不应该犯的错误。本来书上的实例只做练习,有的会借鉴书上的代码,并不全是自己的思想所以不会发出来。贴出此文,一为警示,二为便于温故。
#include<stdio.h>
#define MAXNUM 100
int getline(char a[],int num);
void copy(char to[],char from[]);
main()
{
int len,max;
int line[MAXNUM];
int maxline[MAXNUM];
max = 0;
int i = 0;
while ((len = getline(line,MAXNUM)) > 0)
if (len > max)
{
max = len;
copy (maxline,line);
}
if (max>0)
printf("%s",maxline);
return 0;
}
int getline(char a[],int num)
{
int i,c;
for(i = 0;i<num-1 && (c = getchar() )!= EOF && c!= '\n';++i)
{
a[i] = c;
}
if (c == '\n')
{
a[
++i
] = c;;}a[i] = '\0';return i;}void copy(char to[], char from[]){int i = 0;while ((to[i] = from[i]) != '\0')++i;}