如果 switch case 给出为
typedef unsigned char uint8_t;
const uint8_t mask = 0x01;
const uint8_t Buffer[];
switch (Buffer[4] & mask)
{
case 0x01U:
---
if
else
case 0x00U:
------
if
else
default:
}
我正在进行单元测试以获得 100% 的覆盖率并测试一个 ureq 我需要输入默认情况但我无法理解什么开关 (Buffer[2] & mask)
意思是 (Buffer[2] & mask)
到底描述了什么,&
用于什么以及如何输入默认情况?
最佳答案
因为 mask
是 1,如果 Buffer[4]
Buffer[4] & mask
将是 1
是奇数,0
如果是偶数。它不能是任何其他东西。
所以 case 标签 2
从未被使用过。
&
是按位与运算符。
关于c++ - 条件中的 Switch 语句和 & 号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38377170/