是否可以在C中使用和操作开关盒

时间:2019-10-25 00:18:59

标签: c if-statement switch-statement embedded bitwise-operators

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

这就是我希望的样子: 例如,如果x = 0xff(我希望考虑所有情况,如果x = 0xAA,则我只希望考虑所有情况中的一种(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;
    }

感谢任何潜在客户

2 个答案:

答案 0 :(得分: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");
}

答案 1 :(得分: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;
}