私は構造を使って宿題をしています。私はその概念を理解していると思います。 しかし、コードを実行すると、出力が自分の入力と異なっていました。構造の出力が異なります
名前やテストのスコアなど3つの学生情報を入力したかったのです。ここで
私の構造プロトタイプおよび配列コードです:
struct StudentInfos{
unsigned int Student_Number;
char Student_Name[20];
char PE;
char Social;
char Math;
char Science;
char English;
};
struct StudentInfos Student[3];
ここでI入力DATASコードです:そのそう正しく動作している場合、私は自分のコードをテストしたい
int Edit = 0;
for (Edit = 0; Edit < 3; Edit++) {
printf("Input Student Data\n\n");
printf("Student Number:");
scanf_s("%d", &Student[Edit].Student_Number);
printf("Name:");
scanf_s(" %s", Student[Edit].Student_Name, 20);
printf("PE:");
scanf_s(" %c", &Student[Edit].PE, 1);
printf("Social Studies:");
scanf_s(" %c", &Student[Edit].Social, 1);
printf("Math:");
scanf_s(" %c", &Student[Edit].Math, 1);
printf("Science:");
scanf_s(" %c", &Student[Edit].Science, 1);
printf("English:");
scanf_s(" %c", &Student[Edit].English, 1;
printf("\n\n\n");
}
は、 ここ学生コード[0]を表示するコードです:
printf("\n\n\n");
printf("Student Number:%d\n", Student[0].Student_Number);
printf("Name:%s\n", Student[0].Student_Name);
printf("PE:%c\n", &Student[0].PE);
printf("Social Studies:%c\n", &Student[0].Social);
printf("Math:%c\n", &Student[0].Math);
printf("Science:%c\n", &Student[0].Science);
printf("English:%c\n", &Student[0].English);
です。 '%c'は文字列です。 – John3136
@ John3136はそれを試みましたが、何らかの理由でscanf_sの一部をスキップし、異なる結果を出力します。 – syn3rgy
@ user3121023これは試してみましたが、何とかPEの後にやっていますが、まだあなたが言ったコードを使って編集した元の投稿 – syn3rgy