C语言 文件输出错误乱码是什么情况?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
typedef struct student{
char id[10];
char name[30];
bool gender; // 1 男 0 女
int score;
struct student *next;
}student, *stu;
int main() {
char *file_path = "./data.txt";
char data[100];
FILE *fp=fopen(file_path, "r");
if(!fp) {
printf("can't open file\n");
exit(0);
}
stu L = (stu)malloc(sizeof(student)); //L是链表头节点
L->next = NULL; //申请新节点后next域一定要置空
while(!feof(fp)) {
char tmp[10];
stu s = (stu)malloc(sizeof(student)); //申请新节点
fscanf(fp, "%s %s %s %d", s->id, s->name, tmp, &s->score); //从表中读出一个人的信息
if(strcmp(tmp, "m")==0) //如果是男,gender=1,否则gender=0
s->gender = 1;
else s->gender = 0;
stu p &#