gpt4 book ai didi

c - 使用整数作为枚举值

转载 作者:太空宇宙 更新时间:2023-11-04 02:14:46 25 4
gpt4 key购买 nike

#include <stdio.h>

enum {AA, BB, CC} s;

int main()
{
s = 4;
printf("%d\n",s);
return 0;
}

编译器没有给出任何警告并打印 4. 幕后发生了什么? s 是否被视为 int 类型?

最佳答案

枚举的特定类型是特定于实现的,但它通常是 int。所以是的,在这种情况下 s 可能是一个 int。来自 C 规范:

Each enumerated type shall be compatible with char, a signed integer type, or an unsigned integer type. The choice of type is implementation-defined, but shall be capable of representing the values of all the members of the enumeration. The enumerated type is incomplete until after the } that terminates the list of enumerator declarations.

因此在您的情况下,4 肯定会起作用,因为它适合 char 以及我听说过的任何机器上的任何有符号或无符号整数类型。

关于c - 使用整数作为枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9451073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com