初始化
tail=(link)malloc(sizeof(node));//建个尾节点
tail->next=NULL;
ptr=tail;//ptr指向尾节点
这段读入5个数据
for(i=0;i<=4;i++)
{
scanf("%d",&num);
ptr->data=num;//目前ptr指向链中最后一个空节点,更新num值
head=(link)malloc(sizeof(node));//新建一个空节点
head->next=ptr;//将新节点指向队尾,即又链上一个空节点
ptr=head;//更新ptr指向队尾空节点
}
这段输出
ptr=ptr->next;//由于队尾为空节点,故向前倒一个
while(ptr!=NULL)//如果链中还有节点
{ printf("The value is ==>%d\n",ptr->data);//输出节点值
ptr=ptr->next;//向前倒一个
}}
这样结果就是正着读入,正着插入一个链表,反着输出
ps:没有检查程序正确性,请提问者保证其正确性,否则回答的正确性不能保证
反向输出一个单链表是自虐。。