我们如何使用可变变量作为 switch case 标签。换句话说,我定义了一个宏。但我需要在运行时根据条件更改此值。我该如何实施?
示例如下,
在这里,案例“FOO”会起作用吗?
#define CONDITION (strcmp(str, "hello") == 0)
#define FOO1 (10)
#define FOO2 (20)
#define FOO ((CONDITION) ? (FOO1) : (FOO2))
char *var="hello";
int main()
{
int p = 20;
switch(p) {
case FOO:
printf("\n case FOO");
break;
case 30:
printf("\n case 30");
break;
default:
printf("\n case default");
break;
}
return(0);
}