私はほとんどすべてを試しましたが、この問題を解決できません。私は構造体を持っています:
typedef struct{
char firstname[15];
char lastname[20];
char status[1];
char dateOfBirth[10];
} Rec;
そしてメイン:
int main()
{
Rec rec;
strcpy(rec.status,"M");
strcpy(rec.dateOfBirth,"14-11-2000");
strcpy(rec.firstname,"Peter");
strcpy(rec.lastname,"Something");
printf("%s, %s, %s, %s\n", rec.status,rec.dateOfBirth,rec.firstname,rec.lastname);
return 0;
}
だから、これは、印刷する必要があります-> M、14-11-2000、Peter、何か..しかし、そうではありません! それは印刷します-> M14-11-2000、14-11-2000、Peter、Something。
つまり、「ステータス」メンバーは「破損」します。構造体のデータの順序を変更すると、出力が変更されますが、破損するデータが常にあることに気付きました。
構造体を定義する方法に何か問題がありますか? どうも!