切换语句和条件中的与号

Switch statement and Ampersand in condition

本文关键字:条件 语句      更新时间:2023-10-16

>如果开关大小写为

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。它不可能是别的任何东西。

因此,从不使用案例标签2

& 是按位 AND 运算符。