#include#includetypedef enum Status{success,fail,fatal}Status;typedef int ElemType;typedef struct node{ ElemType data; //数据域 struct node *next; //指针域}ListNode,*LinkList;void Build(LinkList L) //创建单链表{ Status status=success; int i,n; LinkList p,q; printf("请输入n和n个数据元素:\n"); scanf("%d",&n); i=n; while(i>0) { if(i==n) { p=(LinkList)malloc(sizeof(ListNode)); scanf("%d",&p->data); p->next=NULL; L=p; } else{ q=(LinkList)malloc(sizeof(ListNode)); scanf("%d",&q->data); q->next = p->next ; p->next = q; p = q; } i--; } }void printlist(LinkList L){ ListNode *s; s=L; while(s) { printf("%d",s->data); s=s->next; }}int main(){ LinkList L; L=(LinkList)malloc(sizeof(ListNode)); Build(L); printlist(L); system("pause"); return 0;}
以上是代码,输出时总是提示linklist.exe 中的 0x00ed165f 处有未经处理的异常: 0xC0000005: 读取位置 0xcdcdcl,我觉得是哪里的指针出错了,但实在看不出来,请赐教…