这段代码的年级和排名读取不出来,但别的都能读出来,不知道是什么原因?
#include
#include
#include
#define STUDENT_NUM 1 //学生人数
#define COMMAND_LEN 6 //命令字符数
typedef struct studentMessage
{
char stuCount[11];//学号
char name[12];//姓名
char grade;//年级
int classNum;//班级
char phoneNum[12];//手机号码
char address[20];//住址
//成绩
int Marktotal;//总成绩
int MarkCh;//语文
int MarkMath;//数学
int MarkEn;//英语
int rankNum;//排名
}stuM;
int file(void)
{
stuM student[STUDENT_NUM];
int i,j;
FILE * fp = fopen("E:\\c_test.txt","r");//读文件中的字符
for(i = 0;i < STUDENT_NUM;i++)
{
fscanf(fp,"%s %s %c %d %s %s %d %d %d %d %d\n",student[i].stuCount,student[i].name,&student[i].grade,&student[i].classNum,student[i].phoneNum,student[i].address,&student[i].Marktotal,&student[i].MarkCh,&student[i].MarkMath,&student[i].MarkEn,&student[i].rankNum);//用定义的数组类型接收读取到的字符
if(feof(fp))// 代表着字符串的结束
break;
}
for(j = 0;j < STUDENT_NUM;j++)
{
printf("%3d ",j + 1);
printf("%s %s %c %d %s %s %d %d %d %d %d\n",student[j].stuCount,student[j].name,&student[i].grade,student[j].classNum,student[j].phoneNum,student[j].address,student[j].Marktotal,student[j].MarkCh,student[j].MarkMath,student[j].MarkEn,&student[j].rankNum);
}
getch();
return 0;
}
int main(void)
{
file();
getch();
return 0;
}