69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
// 定义掩码
// 一定是 1 左移 n 位以后的值
// 就是 00000001, 00000010, 00000100, 这样的数
#define FEATURE_A 1
#define FEATURE_B 2
#define FEATURE_C 4
#define FEATURE_D 8
#define FEATURE_E 16
// 根据输入的掩码输出文字
void print_features(unsigned int flags)
{
printf("You have selected following features:\n");
if(flags & FEATURE_A) // 如果有掩码 A
{
printf("A");
}
if(flags & FEATURE_B) // 如果有掩码 B
{
printf("B");
}
if(flags & FEATURE_C) // 如果有掩码 C
{
printf("C");
}
if(flags & FEATURE_D) // 如果有掩码 D
{
printf("D");
}
if(flags & FEATURE_E) // 如果有掩码 E
{
printf("E");
}
printf("\n");
}
int main(void)
{
print_features(FEATURE_A | FEATURE_C | FEATURE_D);
return 0;
}