当前位置: 代码迷 >> C语言 >> [求助]用递归逆输出单项链表?
  详细解决方案

[求助]用递归逆输出单项链表?

热度:298   发布时间:2007-06-19 08:53:47.0
[求助]用递归逆输出单项链表?

已知la是带头结点的单链表的头指针,试编写逆须输出表中各元素的递归方法。(C语言)
请问下边写的哪错了?
#include<stdio.h>

struct S
{
int data;
struct S *link;
};

main()
{
void *fun(struct S *);
struct S *la,*p;
int i;

p=la;
scanf("%d",&i);
if(i!=0) /*i=0时输入结束。*/
{
p=(struct S *)malloc(sizeof(struct S));
p->data=i;

while(1)
{
scanf("%d",&i);
if(i==0)
break;
else
{
p->link=(struct S *)malloc(sizeof(struct S));
p=p->link;
p->data=i;
}
}

p->link=NULL;
fun(la);

free(la);
free(p);
}
else
printf("wu shu ju shu ru\n");
getch();
}

void *fun(struct S *la) /*逆输出线性链表。*/
{
printf("%d\n",la->data);
if(la->link!=NULL)
fun(la->link);
else
free(la);
}

搜索更多相关的解决方案: 递归  struct  项链  输出  int  

----------------解决方案--------------------------------------------------------

记得我以前在数据结构版写过一个,LZ 自己到那搜索一下吧.


----------------解决方案--------------------------------------------------------
这个是吴玉主编的。
----------------解决方案--------------------------------------------------------
  相关解决方案