帮我解决个代码错误

来源:百度知道 编辑:UC知道 时间:2024/06/07 19:33:26
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
struct STUDENT /*构造学生结构体*/
{
char name[21];
int pjcj,pycj;
char sfgb,sfxb;
int papers;
int scholars;
};
main()
{
struct STUDENT *stu;
int maxscholar,i,allscholars,N;
char namef[21];
FILE *fp,*fq; /*定义文件类型指针*/
if((fp=fopen("f:\\scholar.in.txt","r"))==NULL) /*以读的方式打开文件*/
{
printf("Can not open file\n");
exit(1);
}
fscanf(fp,"%d",&N);
printf("%d",N);
stu=(STUDENT*)malloc(N*sizeof(STUDENT));
for(i=0;i<N;i++)
fscanf(fp,"%s,%d,%d,%c,%c,%d",(stu+i).name,&(stu+i).sfgb,&(stu+i).sfxb,&(stu+i).papers);
..........

fscanf(fp,"%s,%d,%d,%c,%c,%d",stu[i].name,&stu[i].sfgb,&stu[i].sfxb,&stu[i].papers);

&(stu+i).name //加个&吧,
至于"%s%d%c%c%d" 也可以用其它符号隔开,最好不要与前面name的字符串冲突...

fscanf(fp,"%s,%d,%d,%c,%c,%d",&(stu+i).name,&(stu+i).sfgb,&(stu+i).sfxb,&(stu+i).papers);
就好了你试试
第二个问题可以不用逗号隔开