main函数里 调用参数的参数太少

来源:百度知道 编辑:UC知道 时间:2024/05/18 00:50:30
将两个链表合成,排序不变,为什么会提示merge()函数调用参数太少
#include<stdio.h>
#include<alloc.h>
#include<stdlib.h>
typedef int datatype;
typedef struct node
{datatype data;
struct node *next;
}LNode,*LinkList1,*LinkList2;

LinkList1 crelink1(int n)
{int i;
LinkList1 p1,q1,head1;
head1=(LinkList1)malloc(sizeof(LNode));
p1=head1;
for(i=0;i<n;i++)
{q1=(LinkList1)malloc(sizeof(LNode));
q1->data=i;
p1->next=q1;
p1=q1;
printf("%d ",p1->data);
}
p1->next=NULL;
return head1;
}

LinkList2 crelink2(int m)
{int j;
LinkList2 p2,q2,head2;
head2=(LinkList2)malloc(sizeof(LNode));
p2=head2;
for(j=0;j<m;j++)
{q2=(LinkList2)malloc(sizeof(LNode));
q2->data=j+4;
p2->next=q2;
p2=q2;
printf("%d ",p2->data);
}
p2->next=NULL;
return head2;<

Merge(); /*这里根本没有为Merge()函数输入参数,当然会得到这样的提示信息。*/

应该对main()函数做如下修改:

main()
{int n,m;
LinkList1 ln1,ln2;
printf("input number of node you want to create link1:");
scanf("%d",&n);
ln1=crelink1(n);
printf("\ninput number of node you want to create link2:");
scanf("%d",&m);
ln2=crelink2(m);
printf("\nAfter Merge:");
Merge(ln1,ln2);
getch();
}