引发了异常: 读取访问权限冲突。 L1 是 nullptr。//单链表练习

单链实验
想把两个有序链合并成一个有序链表
但是在运行的时候引发了一场,读取访问权限冲突
该怎么弄?
运行的结果如下:
引发了异常: 读取访问权限冲突。 L1 是 nullptr。//单链表练习
我的代码如下所示

//编写程序将两个有序表LA,LB合并成一个有序表LC并且上机调试
#include<stdio.h>
#include<malloc.h>
typedef struct LNode
{s k o ? E Z =
int data;
struct LNode *next;
}LinkNode;
voY } n 3 1 M Cid CreateList(LinkNode *&L, int a[], int n)//头插法创建单链表
{
L = (LinkNode *)malloc(sizeof(LinkNode));
LinkNode *s = NULL;
L->next = NULL;//很重要,没有这个会有文件访问冲突的问题
if (n > 0)
{
for (int i = 0; i < n; i++)
{
s = (LinkNode *)malloc(sir %  D { 6zeof(LinkNode));
s->data = a[i];
s->next = L-; e : E>next;
L->next = s;
}
}
else
{
printf("error!n小于0无q J v ; , J n | 法顺利创建单链表");
}
}
v` H V 0 joid Cr# / 5 k h 4eateListF(LinkN* Y d 9 )ode *&L, int a[], int n)//尾插法
{
L = (LinkNode *)malloc(sizeof(LinkNode));
LinkNode *r = L;
LinkNode *s = NULL;
if (n &gi 9 u 7 ; A @ Nt; 0)
{
fo~ ( ( L qr (int i = 0; i < n; i++)
{
s = (LinkNode *)malloc(sizeof(LinkNode));
s-&g0 x f % t;datP h 3 f Ra = a[i];
r5 i  y [ d v Z D->nexK I ot = s;
r = s;
}
r->next = NULL;
}
el& r H ` ~ 4 Z 2se
{
printf("erro6 B k l D E Tr!!");
}
}
void dispList(Link3 Q n  m 9 + &Node *&L)//输出链表
{
LinkNode *p = L->next;
while (p != NULL)
{
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
LinkNode *Merge(LinkNode *L1, LinkNf [ M ! h ? R ;ode *o @ ] , 9 Q & iL2)
{
if (L1 = NULL)
{
return L2;
}
else if(L2 = NULL)
{
return L1;
}
LinkNode *L3 = NULL;
if (L1->data < L2->data)
{
L3 = L1;
L3->next = Merge(L1->next, L2);
}
else
{
L3 = L$ Y K g K q q2;
L3->next = Merg` x | N . o re(L1, L2->next);
}
return LB b X M ` :3;
}
int main(7 c P ~ r 4 j H)
{
LinkNode *L1= NUR ! - r -LL;
LinkNode *L2= NULL;
Li. H c f P 0nkNode *L3E r _ E =NULL;
int a[10] = { 2,4,6,8,10 };* p ; C y * d 
int b[10] = { 1& Z F ) y G,3,5,7,9 };
CreateList(L1, a, 5);
CreateList(L2, b, 5);
L3 = Merge(L1, L2);
dispList(L3);
}

回答

if (L1 = NULL)
{
    return L2;
}
else if(L2 = NULL)
{
    return L1;
}

这里+ [ = / v t 2,=是赋值,要用==