#include <stdio.h>//printf、scanf
#include <stdlib.h>
#include <string.h>
#include<errno.h>
#define MAXSIZE 55 //最大长度
#define LIST_INCREMENT 5 //增加的存储长度
#define OVERFLOW -2
#define OK 1
#define ERROR -1
#define N 52 //原始表长&数据长度
typedef struct //成员结构体
{
int bianhao;
char xuehao[10];
char name[10];
char xingbie[10];
char xibie[10];
char yingyu[10];
int shuxue;
int jisuanji;
int zongfen;
}stu;
typedef struct /*定义数据链表*/
{
stu *elem;
int length; //顺序表长度
int listsize; //顺序表存储空间
}SqList;
int InitList (SqList *L) /*初始化顺序表*/
{ L->elem=(stu*)malloc(sizeof(stu)*MAXSIZE); //为顺序表分配一个大小为MAXSIZE的数组空间
if (!L->elem)
exit(OVERFLOW); //存储分配失败退出
L->length = 0; //空表长度为0
return OK;
}
void Read(SqList *L) /*读取文件数据*/
{
int i=0;
FILE *fp;
fp =fopen("计科62107.txt","r");
if((fp=fopen("计科62107.txt","r"))==NULL)
{
printf("can't open the file!!!\n");
printf("error:%s\n",strerror(errno));
exit(0);
}
while(!feof(fp))
{
fscanf(fp,"%d %s %s %s %s %s %d %d",&L->elem[i].bianhao,&L->elem[i].xuehao,&L->elem[i].name,
&L->elem[i].xingbie,&L->elem[i].xibie,&L->elem[i].yingyu,
&L->elem[i].shuxue,&L->elem[i].jisuanji);
printf("%d %s %s %s %s %s %d %d ",L->elem[i].bianhao,&L->elem[i].xuehao,&L->elem[i].name,
&L->elem[i].xingbie,&L->elem[i].xibie,&L->elem[i].yingyu,
&L->elem[i].shuxue,&L->elem[i].jisuanji);
i++;
L->length++;
}
fclose(fp);
}
int main()
{
SqList L;
InitList(&L);
Read(&L);
}
char yingyu[10];这是个啥呀,不应该是int吗
printf里的&全部删掉,不要打印地址