请大家帮我分析这个程序
大家帮我来看一下这个程序:输入一些学生的信息(学号和分数),然后输出。为什么我的程序在调试时没有查出错误,却运行不了呢?
先谢谢各位了。
#include"stdio.h"
#define NULL 0
#define LEN sizeof(struct student)
struct student
{
long num;
float score;
struct student *nest;
}
main()
{
struct student *head,*lest,*p;
int n;
n=0;
head=NULL;
p=(struct student*)malloc(LEN);
printf("请输入学生的学号和分数<当学号为0时结束>\n");
scanf("%ld%f",p->num,p->score);
p->nest=NULL;
while(p->num!=0)
{
++n;
if(n==1)
head=p;
else
lest->nest=p;
lest=p;
p=(struct student*)malloc(LEN);
scanf("%ld%f",p->num,p->score);
p->nest=NULL;
}
printf("%s\t,%s\n","学号","分数");
while(p!=NULL)
{
printf("%ld\t,%f",p->num,p->score);
p=p->nest;
}
}