建立链表 出现debug error
这是建立学生信心的链表,当输入学号为0时结束。用vc6编译正确,输入第一个学生学号和分数后按回车出现 提示框,debug error。 请问程序错在哪了?#include <stdio.h>
#include <stdlib.h>
#define LEN sizeof(struct student)
struct student
{
int num;
float score;
struct student * next;
};
int n ;
struct student *creat(void)
{
struct student *head;
struct student *p1,*p2;
head=NULL;
n=0;
p1=p2=(struct student *)malloc(LEN);
printf("请输入学生学号,成绩\n");
scanf("%d %f",&p1->num,&p1->score);
while(p1->num!=0)
{
n=n+1;
if(n==1) head=p1;
else
p2->next=p1;
p2=p1;
p1=(struct student *)malloc(LEN);
printf("请输入学生学号,成绩\n");
scanf("%d%f",&p1->num,&p1->score);
}
p2->next=NULL;
return (head);
}
void main()
{
creat();
}
[ 本帖最后由 witjay 于 2011-3-19 15:24 编辑 ]