线性表合成之后输出来是空的

#include<stdio.h>
#include<stdlib.h>
typedef  struct  LNode {
	int     data;  // 数据域
	struct  LNode   *next;  // 指针域
} LNode, *LinkList;


void MergeLinkList(LinkList &La, LinkList &Lb) {

	LinkList pa, pb;
	pa = La->next;
	pb = Lb->next;
	LinkList pc = La;
	while (pa&&pb)
	{
		if (pa->data <= pb->data) {
			LinkList p = pa->next;
			pa->next = NULL;
			pc->next = pa;
			pc = pc->next;
			pa = p;
		}
		else {
			LinkList p = pb->next;
			pb->next = NULL;
			pc->next = pb;
			pc = pc->next;
			pb = p;
		}
		
	}
	pc->next = pa ? pa : pb;
	
	while (La->next != NULL)
	{
		printf("%3d", La->next->data);
		La = La->next;
	}
	printf("\n");
}
void CreateList_L(LinkList &L, int n) {
	// 逆序输入 n 个数据元素,建立带头结点的单链表
	L = (LinkList)malloc(sizeof(LNode));
	LinkList p;
	int t; 
	int k = 0;
	int num[5];
	for (int i = 0; i < 5; i++) {
		 printf("第%d个数据:\n", i+1);
		 scanf("%d", &num[i]);
	}
	for (int i = 0; i < 5 ; i++)
	{
		for (int j = 0; j< 5 - 1 - i; j++)
		{

			if (num[j] < num[j+1])
			{
				t = num[j];
				num[j] = num[j+1];
				num[j+1] = t;
			}
		}
	}
	L->next = NULL; //建立带头结点的单链表
	for (int i = 5; i > 0; --i) {	
		p = (LinkList)malloc(sizeof(LNode));
		p->data = num[k++];  // 输入元素值
		p->next = L->next;  L->next = p;  // 插入
	}

} // CreateList_L

void printList(LinkList &L) {
	while (L->next!=NULL)
	{
		printf("%3d", L->next->data);
		L = L->next;
	}
	printf("\n");
}

void printList1(LinkList &L) {
	while (L->next != NULL)
	{
		printf("%3d", L->next->data);
		L = L->next;
	}
	printf("\n");
}
int main()
{
   	LinkList L1,L2;
	int a=5; 
	int b = 1;
	printf("创建L1:\n");
	CreateList_L(L1, a);
	printf("L1结果如下:\n");
	printList(L1);
    printf("创建L2:\n");	
    CreateList_L(L2, a);
	
	printf("L2结果如下:\n");
	printList(L2);
	MergeLinkList(L1, L2);
	printf("合并结果如下:\n");
	printList1(L1);
	return 0;
}

求大佬解释为什么我的线性表合成之后输出来是空的

CreateList_L 和 printList方法里面,你不可以直接使用L,应该LinkList q = L;这样,然后操作p。

pc->next = pa ? pa : pb;

你这句话是不是想写成: 

pc->next == pa ? pa : pb;

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y