本程序的功能是建立一个链表,输入N个元素,把元素逆输出;
我调试了,没有错误,可是运行后弹出"应用程序错误";
这是为什么啊?
请高手指教
并把原因告诉我
#include<stdio.h>
#include <malloc.h>
#include <stdlib.h>
#define ElemType int
#define NULL 0
typedef struct LNode{
ElemType date;
struct LNode *next;
}LNode,*linklist;
linklist createlist()
{ linklist head;
linklist p;
int n,i;
head=p=(linklist)malloc(sizeof(LNode));
p->next;
if(!p){exit(0);}
printf("please input n=");
scanf("%d",&n);
for(i=n;i>0;i--){
p=(linklist)malloc(sizeof(LNode));
p->next;
if(!p){exit(0);}
printf("input:");
scanf("%d",&p->date);
p->next=head->next;
head->next=p;
}
return(head);
}
void print(linklist head)
{
linklist p;
for(p=head->next;p->next!=NULL;p=p->next){
printf("%d ",p->date);
}
}
void main()
{
linklist head;
linklist p;
printf("输入元素:\n");
head=createlist();
printf("输出:\n");
p=head;
print(p);
}