这段代码是什么问题,为什么读取数据会出现-842150451呢?
stud *load(){
stud *p,*q,*h;
FILE *fp;
fp=fopen("d:\\F","rb");//打开一个文件//
if(fp==NULL)//检测文件能否打开//
{
printf("can not open file!");
return(0);
}
h=NULL;
while(!feof(fp))
{
p=(stud *)malloc(sizeof(stud));
fread(p,sizeof(stud),1,fp);
p->link=h;
h=p;
}
while(h!=NULL)
{
printf("%5d %d\n",h->num,h->age);
h=h->link;
}
fclose(fp);
}