struct student *read_file(){int i=0;struct student *p1=NULL,*head=NULL,*p2=NULL;FILE *pfile;pfile = fopen("student.txt","r");if(pfile == NULL){printf("+ 未发现存档 +\n");return 0;}while(!feof(pfile)){p1 = (struct student*)malloc(LEN);fscanf(pfile,"%d%d%d%s%s%s%s%s",&p1->idnum,&p1->cardnum,&p1->date,p1->school,p1->sex,&p1->major,&p1->iden,p1->name); p1->next=NULL; if(i==0) head=p1; else p2->next=p1; p2=p1; i++;}fclose(pfile);printf("+ 读档成功 +\n");return head;}我的idnum是201820020304 这么长的,可是输入的却是负数,请教大佬 |