我想测试a
和b
的值。反正我可以同时在两个值上输入switch
吗?
int a, b;
scanf("%d\n%d", &a, &b);
switch (a) {
case '1':
printf("one");
break;
case '2':
printf("two");
break;
case '3':
printf("three");
break;
}
您只能间接实现。如果a
和b
均为int
,则可以执行以下操作
long long c;
c = 65536*a+b;
switch (c){
case whatever:
whatever;
}
但是请注意,此解决方案不是通用的,因为您不能对随机类型执行此操作,例如使用指针;但您也许可以实现特定于类型的解决方案。
否,switch语句的键表达式必须具有整数或枚举类型。但是您可以像这样通过两个值的操作或进行数学转换-//例#include
int main(void) {
int a, b;
scanf("%d\n%d\n%d", &a, &b, &c);
switch (a || b) {
case '1':
printf("one");
break;
case '2':
printf("two");
break;
case '3':
printf("three");
break;
}
return 0;
}