问题描述
我有以下的code:
enum e {
X=1,
Y,
Z
}
会有什么如果第一个被定义为1枚举元素的值?
What will be the values of enum elements if the first one is defined to 1?
将其他元素被各1个加一?
Will the other elements be incremented by 1 each one?
推荐答案
由于大家都在说,答案是肯定的。这里说的标准的方法。
As everyone else is saying, the answer is yes. Here's the standard's way of saying that.
C99规格。第6.7.2.2枚举符。第3
在枚举列表中的标识符被声明为具有类型int和可能出现这样是允许的地方常数。)与=枚举器定义了它的枚举常量的常量前pression的价值。如果第一枚举没有=,其枚举常量的值是0
每个后续枚举没有=定义其枚举常数通过加入1至previous枚举恒定的值而获得的恒定的恩pression的值。 (统计员与=的使用会产生枚举常量与重复在同一枚举其他值的值。)
Each subsequent enumerator with no = defines its enumeration constant as the value of the constant expression obtained by adding 1 to the value of the previous enumeration constant. (The use of enumerators with = may produce enumeration constants with values that duplicate other values in the same enumeration.)
枚举的统计员也被称为它的成员。
The enumerators of an enumeration are also known as its members.
这篇关于这将是如果第一个被定义为1枚举元素的值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!