源自《The C Programming Language》P29 从终端读入一组文本行,并将最长的文本行打印出来 代码: #include <stdio.h> #define MAXLINE 1000 //允许输入行的最大长度 int getline(char line[], int maxline); void copy(char to[], char from[]); int main() { int len; //当前行长度 int maxnum; //目前为止发现的最长行的长度 char line[MAXLINE]; //当前输入行 char longest[MAXLINE]; //用于保存最长的行 maxnum = 0; while((len = getline(line, MAXLINE)) > 0) if(maxnum < len) { maxnum = len; copy(longest, line); } if(maxnum > 0) printf("%s",longest); return 0; } int getline(char s[], int lim) //getline:将一行读入到s中,返回其度 { 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