是否可以在C中使用开关盒并在其中进行操作

问题描述 投票:-1回答:2

我需要检查多种情况,但我不知道是否可以针对这种特殊情况使用和操作

这是我希望的样子:例如,如果x = 0xff(我希望考虑所有情况,如果x = 0xAA,则我只希望考虑所有情况中的1个情况(SAY情况B)

   switch(x)
    {
    case A && case B && case  C && Case D // all these cases will be selected if the x =0xff, if x is 0x01 , CASE A will be selected
    break;
    case B
    break;
    case C:
    break;
    default:
    break;
    }

感谢任何潜在客户

c if-statement switch-statement embedded bitwise-operators
2个回答
0
投票

不干净。使用switch,这是我能想到的最好的方法:

switch(x) {
  case 0xff:
  case 1:
    puts("A");
    if (x != 0xff) break;
  case 2:
    puts("B");
    if (x != 0xff) break;
  case 3:
    puts("C");
    if (x != 0xff) break;
  case 4:
    puts("D");
}

0
投票

我不完全了解您的问题,但这也许可以帮助您:

switch(x)
{
    case 0xFF:
         //do stuff of case A
         //do stuff of case C
         //do stuff of case D

    case 0xAA:
         //do stuff of case B
         break;

    default:
         break;
}
© www.soinside.com 2019 - 2024. All rights reserved.