ドイツ語の動詞ドリルに使用している次のコードブロックがあります。
if (strcmp(*option, "sein") == 0)
*option = linie.sein;
if (strcmp(*option, "haben") == 0)
*option = linie.haben;
if (strcmp(*option, "possessiv") == 0)
*option = linie.possessiv;
if (strcmp(*option, "reflexiv") == 0)
*option = linie.reflexiv;
if (strcmp(*option, "accusativ") == 0)
*option = linie.accusativ;
if (strcmp(*option, "dativ") == 0)
*option = linie.dativ;
ただし、次のようなものに要約したいと思います。
*option = linie.(*option);
多分:
*option = linie.(*option)();
残念ながら、これらはどちらも機能しません。何か案は?
@dasblinkenlight を編集:
typedef struct
{
char subjekt[20];
char sein[20];
char haben[20];
char possessiv[20];
char reflexiv[20];
char accusativ[20];
char dativ[20];
} satz;
satz linie =
{
.subjekt = "",
.sein = "",
.haben = "",
.possessiv = "",
.reflexiv = "",
.accusativ = "",
.dativ = ""
};
char *option = argv[1];