输入数据后提示程序停止运行,求高手解救.问题应该是出在链表写入和读取,特别是读取,但我真的不知道是哪里
//生成链表,写入文件和读取文件
#include
#include
#define LEN sizeof(struct student)
void save(); //写入文件函数
void read(); //读取文件函数
struct student
{
long num;float score;struct student *next;
};
struct student *head;
main()
{
struct student *p,*q;
p=(struct student *)malloc(LEN);
head=p;head->next=NULL;
q=(struct student *)malloc(LEN);
printf("input:\n");
scanf("%ld",&q->num);
//生成链表
while(q->num!=0) //输入0结束生成链表
{
scanf("%f",&q->score);
p->next=q;
p=q;
q=(struct student *)malloc(LEN);
printf("input:\n");
scanf("%ld",&q->num);
}
p