可你改正后的代码与我之前的代码完全一样,哪里修改了
时间: 2024-02-15 09:04:32 浏览: 164
非常抱歉,我的回答有误,这段代码中并没有传入太多的参数,是我误解了你的问题。这段代码的问题在于,在打开文件失败时,仍然会执行 `fclose(fp)` 和 `exit(0)`,导致程序异常退出。应该先执行 `fclose(fp)` 关闭文件,再执行 `exit(0)` 退出程序。修改后的代码如下:
```c
void luru_teacher(int n) {
struct teacher_information st[100];
FILE *fp;
fp=fopen("教师信息.txt","a+");
if(fp==NULL) {
printf("打开文件失败,请重试!\n");
getch();
exit(0);
}
printf("请输入全部教师的工号,姓名,学院,开设科目:\n");
int i;
for(i=0;i<n;i++) {
printf("----第%d位教师----\n", i+1);
printf("工号:");
scanf("%s",&st[i].id);
printf("姓名:");
scanf("%s,",&st[i].name);
printf("学院:");
scanf("%s,",&st[i].major);
printf("开设科目:");
scanf("%s,",&st[i].course);
fprintf(fp,"%s %s %s %s\n",st[i].id,st[i].name,st[i].major,st[i].course);
}
fclose(fp);
printf("录入教师成功,请按任意键返回\n");
getch();
}
```
阅读全文