怎么链表的输出错误呢?
#include<iostream>using namespace std;
#define OVERFLOW -2
typedef struct Lnode{//链表的结构
int data;
struct Lnode *next;
}Lnode,*Linklist;
void CreatList(Linklist &L,int n){//构造链表
Linklist p;
int i;
L=(Linklist)malloc(sizeof(Lnode));
L->next=NULL;
p=(Linklist)malloc(sizeof(Lnode));
cout<<"请输入数据元素:"<<endl;
for(i=0;i<n;i++)
{cin>>p->data;
p->next=L->next;
L->next=p;
}
}
void PrintList(Linklist &L,int b){//输出链表
Linklist p;
int i;
p=L->next;
for(i=1;p!=NULL&&i<=b;i++, p=p->next)
cout<<p->data<<" ";
if(!p||i>b)
exit(OVERFLOW);
}
int main(){//主函数
Linklist h;
int t;
cout<<"请输入链表的长度:"<<endl;
cin>>t;
CreatList(h,t);//调用创建链表函数
PrintList(h,t);
return 0;
麻烦帮看看,谢谢