Tôi có codeblock sau Tôi đang sử dụng cho khoan động từ Tiếng Đức:Mã động trong 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;
Tuy nhiên tôi muốn ngưng tụ nó để cái gì đó như:
*option = linie.(*option);
Hoặc có lẽ:
*option = linie.(*option)();
Thật không may, cả hai đều không hoạt động. Bất kỳ ý tưởng?
Sửa @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];
Xin chỉ cho định nghĩa của 'linie' và 'option'. – dasblinkenlight
Vùng chứa và vòng lặp. Bạn thực sự nên học "Quy tắc 0-1-Nhiều". –
Thật không may điều này là không thể trong C, vì nó không có khả năng phản xạ hoặc mã động. –