链表为什么不输出
Description建立长度为n的单链表A和长度为m的单链表B,n>0,m>0。编程实现将B表链接在A表的尾端,形成一个单链表A。数据类型指定为字符型。Input第一行为A表的长度n;
第二行为A表中的数据元素
第三行为B表的长度m;
第四行为B表中的数据元素。
Output输出为链接好后的A表中的所有数据元素。
Sample Input
4
A B C D
6
1 2 3 4 5 6
Sample Output
A B C D 1 2 3 4 5 6
#include<stdio.h>
#include<stdlib.h>
struct ch
{
char c;
struct ch *next;
};
struct ch *creat_list();
struct ch *insert_list(struct ch *,struct ch *);
void print_list(struct ch *);
main()
{
struct ch *p,*p1,*p2;
p1=creat_list();
p2=creat_list();
p=insert_list(p1,p2);
print_list(p);
return 0;
}
struct ch *creat_list()
{
int i=0,n;
struct ch *p,*p1,*head=NULL;
scanf("%d",&n);
getchar();
while(i<n)
{
p=(struct ch *)malloc(sizeof(struct ch));
p->c=getchar();
getchar();
if(i==0)
head=p;
else
p1->next=p;
p1=p;
i++;
}
p->next=NULL;
return head;
}
struct ch *insert_list(struct ch *p1,struct ch *p2)
{
struct ch *head;
head=p1;
while(p1->next!=NULL)
p1=p1->next;
p1->next=p2;
return head;
}
void print_list(struct ch *p)
{
int i=0;
while(p!=NULL)
{
if(i==0)
{
printf("%c",p->c);
i=1;
}
else
printf(" %c",p->c);
p=p->next;
}
}
这是我的代码,在VC上运行结果都对,为什么提交时根本就不输出,真不懂啦,我哪错啦??急求,谢谢