私はこの問題を抱えています。私の名前はchar[20]です。ある文字を挿入すると、配列がオーバーフローし、他の配列(cognome)に書き込みます。
scanf()をputs()で変更しようとしましたが、この最後の1つは入力からジャンプして何も読み取らないため、正しく機能しません。
誰かが解決策を知っていますか?
これがコードです
void addStudent(){
struct student s;
printf("Inserire Nome: ");
scanf("%20s",s.nome);
printf("\nInserire Cognome: ");
scanf("%30s",s.cognome);
printf("\nInserire eta': ");
scanf("%d",&s.anni);
}
結果
Inserire Nome: cjhsdjkhbsdkhfgsdjkhfgskjhgjkhsfs
Inserire Cognome:
Inserire eta':