我必须编写一个新文件,其中必须有多个学生信息(如:Student_name, student_Surname, school_subject
和学生人数)一行,我必须输入新的学生,直到我输入END。我不得不使用printf和scanf。姓名和科目可以是多个单词当我尝试使用scanf("[^\n]*c", name)
时,我只能输入一个学生的信息,循环只是忽略休息,对于其他学生,我只能输入整数的学号。循环中的C程序scanf(“%[^ n]%* c”,...)
我的代码有什么问题?
int main() {
FILE *outputfile = NULL;
struct imenik {
char prezime[17 + 1];
char ime[13 + 1];
char predmet[20 + 1];
int bodovi;
} ucenik;
outputfile = fopen("imenik.txt", "w");
printf("Ucitaj ime ucenika: ");
scanf("%[^\n]%*c", ucenik.ime);
printf("Ucitaj prezime ucenika: ");
scanf("%[^\n]%*c", ucenik.prezime);
printf("Ucitaj predmet: ");
scanf("%[^\n]%*c", ucenik.predmet);
printf("\nUcitaj broj bodova (0-50): ");
scanf("%d", &ucenik.bodovi);
fprintf(outputfile, "%s | %s | %s | %d\n", ucenik.ime, ucenik.prezime, ucenik.predmet, ucenik.bodovi);
fclose(outputfile);
}
'我要编制新file' ......好吧,thate是一个问题...... –
的[可能的复制为什么我收到一个来自scanf循环的分段错误?](https://stackoverflow.com/questions/40327254/why-am-i-getting-a-segmentation-fault-from-scanf-loop) – Badda
显示你的代码或我们不能帮助您。 – Badda