在学生信息文件读取过程中,学号,成绩等数字信息全变成乱码了
这个是文本文件内容:
typedef struct
{
int key; char name[9]; int age;
char sex; int score;
}rectype;
FILE*f,*fp1;int choice,i;
f = fopen(".\\stu1.txt", "r");
for(int i=1;i<=4;i++)
{
fscanf(f, "%d %s %d %c %d", &R[i].key, R[i].name, &R[i].age, &R[i].sex, &R[i].score);
}
printf("文件中的学生信息是:\n");
for (i = 1; i <= 4; i++)
{
printf("%d %s %d %c %d\n", &R[i].key, R[i].name, &R[i].age, &R[i].sex, &R[i].score);
}
fclose(f);
数字位置全变成乱码了 表示性别的那个字符也乱码了
把文件格式改成ansi之后只是大致格式变整齐了其他的数字还是乱码
不知道为什么 求解答
把printf的&删掉
FILE*f,*fp1;int choice,i;
f = fopen(".\\stu1.txt", "r");
for(int i=1;i<=4;i++)
{
fscanf(f, "%d %s %d %c %d", &R[i].key, R[i].name, &R[i].age, &R[i].sex, &R[i].score);
}
printf("文件中的学生信息是:\n");
for (i = 1; i <= 4; i++)
{
printf("%d %s %d %c %d\n", R[i].key, R[i].name, R[i].age, R[i].sex, R[i].score);
}
fclose(f);
printf 的时候把 & 去掉