单链表输入数据时自动退出程序
这是哪里出了问题
```c++
#include<iostream>
using namespace std;
#define OK 1
#define ERROR -1
#define OVERFLOW -2
typedef struct
{
string name;
int num;
}Book;
typedef struct LNode
{
Book data;//节点的数据域
struct LNode *next;//节点的指针域
}LNode,*LinkList;//LinkList为指向结构体LNode的指针类型
int InitList(LinkList &L)
{
L=new LNode;//生成新节点作头节点
L->next=NULL;//令头节点的指针域为空
cout<<"已执行"<<endl;
return OK;
}
void input(LinkList &L)
{
int n;
cout<<"请输入一个整数N"<<endl;
cin>>n;
cout<<"请输入书籍信息"<<endl;
LNode *p;//建立一个节点p
for(int i=0;i<n;i++)
{
cin>>p->data.name>>p->data.num;
p=L;
p->next=L->next;
L->next=p;
}
}
void output(LinkList L)//这不用管先
{
int n;
for(int i=0;i<n;i++)
{
// cout<<L->next->data.name<<L->next->data.num;
}
}
int main()
{
LinkList L;
InitList(L);
input(L);
return 0;
}
```