C语言有关txt文件读取的问题,小白求问

#include
#include
#include

struct StuInfo
{
long id[20];
char name[20];
char sex;
long num[20];
float score;
}stu[50];

void Load()
{
int i;
struct StuInfo stu[50];
FILE*fp;
fp = fopen("StuInfo1.txt", "r");
if ((fp = fopen("StuInfo1.txt", "r")) == NULL)
{
printf("The file can't be opened.\n");
return 0;
}

for (i = 0; !feof(fp); i++)
{
    fscanf(fp,"%d%s%s%d%f", stu[i].id, stu[i].name, stu[i].sex, stu[i].num, stu[i].score);
    printf("%d%s%s%d%f", stu[i].id, stu[i].name, stu[i].sex, stu[i].num, stu[i].score);
}
fclose(fp);
student = i;
return stu;

}
int main()
{
Load();
}

txt文件是50行形如:3 man male 12345678903 9.7000
完全运行不了。求调教

1.不知道是你粘贴的时候出问题了还是什么,你的include的头文件呢?
2.student = i; 这个student 没定义过。
这两个改了后程序可以跑起来