gpt4 book ai didi

检查 C 枚举中是否定义了一个值?

转载 作者:太空狗 更新时间:2023-10-29 16:42:22 25 4
gpt4 key购买 nike

假设我有这个:

枚举 { A = 0x2E,B = 0x23,C = 0x40}

是否可以检查 x 是否定义到 enum 中?

我手动执行:int isdef = (x == A || x == B || x == C); 但我想要更动态的东西。 GCC 扩展 也很受欢迎。

最佳答案

据我所知不是。 C 中的枚举只是一系列

#define A 0x2E

声明。

如果枚举很大并且它的值恰好是连续的,则声明最小/最大常量并与它们进行比较:

enum { E_MIN = 0x2E, A = 0x2E, B = 0x23, C = 0x40 ..., E_MAX=0x100};

if(x >= MIN && x <= MAX)
ItsInEnum();

关于检查 C 枚举中是否定义了一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11040964/

25 4 0
文章推荐: html -