关于动态链表
求大神帮我看看,为什么在输出链表之后程序就没有办法运行下去了。。。。#include<stdio.h>
#include <stdlib.h>
#define LEN sizeof(struct xx)
void main()
{
int n=0;
struct xx
{
int id;
int are;
struct xx *next;
};
struct xx *head,*p1,*p2;
p1=p2=(struct xx*)malloc(LEN);
scanf("%d%d",&p1->id,&p1->are);
head=NULL;
while(p1->id!=0)
{
n=n+1;
if(n==1)
head=p1;
else
p2->next=p1;
p2=p1;
p1=(struct xx*)malloc(sizeof(struct xx));
scanf("%d%d",&p1->id,&p1->are);
}
p1->next=NULL;
p1=head;
do
{
printf("%d%d",p1->id,p1->are);
p1=p1->next;
}while(p1->next!=NULL);
printf("\nasdads");
}
[ 本帖最后由 列车永不停息 于 2015-7-31 21:22 编辑 ]