,我有以下的代碼塊我使用的是德國動詞演練:動態代碼用C
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];
請出示linie'和'option'的'定義。 – dasblinkenlight
容器和循環。你應該真正學習「0-1多條規則」。 –
不幸的是,這在C中是不可能的,因爲它沒有反射或動態代碼能力。 –