我必須編寫一個新文件,其中必須有多個學生信息(如: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