Могу ли я использовать два значения в случае переключения? - PullRequest
0 голосов
/ 30 апреля 2020

Я хочу проверить значения 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;
}

1 Ответ

0 голосов
/ 01 мая 2020

Вы можете достичь этого только косвенно. Если a и b оба int, вы можете сделать следующее

long long c;
c = 65536*a+b;
switch (c){
    case whatever:
           whatever;
}

Однако обратите внимание, что это решение не является обобщенным c, так как вы не можете сделать это на случайных типах, например, указатели; но вы можете реализовать решение, определяющее c для типа.

...