如果将第一个元素定义为1,那么枚举元素的值是多少?

MOH*_*MED 1 c enums

我有以下代码:

enum e {
    X=1,
    Y,
    Z
}
Run Code Online (Sandbox Code Playgroud)

如果将第一个元素定义为1,那么枚举元素的值是多少?

其他元素每个会增加1吗?

Bil*_*nch 9

正如其他人所说,答案是肯定的.这是标准的说法.

C99规范.第6.7.2.2节枚举说明符.第3段

枚举器列表中的标识符声明为具有int类型的常量,并且可以出现在允许的任何位置.)带有=的枚举数将其枚举常量定义为常量表达式的值.如果第一个枚举数没有=,则其枚举常量的值为0.

具有no =的每个后续枚举器将​​其枚举常量定义为通过将1添加到先前枚举常量的值而获得的常量表达式的值.(使用带枚举的枚举数可能会产生枚举常量,其值与同一枚举中的其他值重复.)

枚举的枚举数也称为其成员.


小智 7

如果将第一个元素定义为1,那么枚举元素的值是多少?

Y = 2,Z = 3(除非另有说明).

其他元素每个会增加1吗?

是.