合并两个链表下问哪里有问题
#include<stdio.h>typedef struct node{
int num ;
struct node *next;
}lnode, *linklist;
linklist creat(void)
{
linklist head;
lnode *p1,*p2;
int a;
head=NULL;
while(scanf("%d",&a)==1&a>0)
{
p1=(lnode*)malloc(sizeof(lnode));
p1->num=a;
if(head=NULL)
{
head=p1;
p2=p1;
}
else
{
p2->next=p1;
p2=p1;
}
}
p2->next=p1;
return head;
}
linklist hebing (linklist l1,linklist l2)
{
lnode *temp;
if(l1=NULL)
return l2;
else
{
if(l2!=NULL)
for(temp=l1;temp->next!=NULL;)
temp=temp->next;
temp->next=l2;
}
return l1;
}
void print (linklist l)
{
linklist k=l;
while(k!=NULL)
{
printf("%d",k->num);
k=k->next;
}
}
int main()
{
linklist l1;
linklist l2;
printf("1 :");
l1=creat();
print(l1);
printf("2 :");
l2=creat();
print(l2);
l1=hebing(l1,l2);
while (l1)
{
printf("%d",l1->num);
l1=l1->next;
}
return 0;
}
[ 本帖最后由 NeQhk 于 2015-4-13 09:47 编辑 ]