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

我有以下代码:

enum e { X=1, Y, Z } 

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

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

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

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

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

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

枚举的枚举器也称为其成员。

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

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

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

是。

是的,如果没有明确设置,Y将为2和Z 3.枚举增量。