练习5-13 编写程序tail,将其输入中的最后n行打印出来。默认情况下,n的值为10,但可通过一个可选参数改变n的值,因此,命令
tail -n
将打印其输入的最后n行。无论输入或n的值是否合理,该程序都应该能正常运行。编写程序时要充分利用存储空间;输入行的存储方式应该同5.6节中排序程序的存储方式一样,而不采用固定长度的二维数组。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAXLINE 100
char *lineptr[MAXLINE];
int getline(char s[], int maxlen);
void tail(int n, char *lineptr[], int nlines);
void Strcpy(char *s, char *ct);
char *alloc(int n);
void afree(char *p);
int readlines(char *lineptr[], int maxline);
int main(int argc, char *argv[]) {
int tailnum, i, nlines;
char num[100]