case 语句中的按位运算符

Bitwise operator in case statement

我不明白下面的c++语句:

int c;
switch (c) {
  case 'a': ... ;
  case 'c' | 0x100: ... ;
  case 'c': ...;
}

case 'c'case 'c'有什么区别 | 0x100?是不是一样,而且情况下'c'从来没有达到过?

不,那是两个不同的数字。

'c' 等于 0x063

'c'|0x100 等于 0x163