以下程序的功能是:读入一行字符(如:a,...,y,z),按输入时的逆序建立一个链接式的节点序列,即先输入的位于链表尾(如下图),然后再按输入的相反顺序输出,并释放全部结点。请填空。
┌─┬─┐ ┌─┬─┐ ┌─┬──┐
│Z│ ┼→│Y│ ┼→...--→│a│NULL│
└─┴─┘ └─┴─┘ └─┴──┘
#include
#define getnode(type) [1] malloc(sizeof(type))
struct node
{
char info;
struct node *link;
};
void main()
{
struct node *top,*p;
char c;
top=NULL;
while((c=getchar()[2] )
{
p=getnode(struct node);
p->info=c;
p->link=top;
top=p;
}
while(top)
{ [3]
top=top->link;
putchar(p->info);
free(p);
}
}