我是C语言的新手。我发现了一个问题,要求用C语言找到枚举数的值。具体问题如下:
在C语言中考虑以下声明
enum numbers {one = 5, two = -6, three, four};
请帮助我在这些枚举号中找到“四”的值。还请告诉我这个枚举声明是如何工作的?
答案 0 :(得分:2)
应该是-4
。 C99标准的相关部分(§6.7.2.2,第3节)规定:
<强>语义强>
枚举器列表中的标识符声明为常量 有类型int,可能出现在允许的地方.109)An enumerator with =将其枚举常量定义为。的值 不断表达。如果第一个枚举器没有=,则值为 它的枚举常量为0.每个后续的枚举数都没有= 将其枚举常量定义为常量的值 通过将1加到前一个值得到的表达式 枚举常数。 (使用枚举器 =可以生成枚举常量,其值与同一枚举中的其他值重复。)枚举的枚举数是 也被称为其成员。
引自ISO / IEC 9899:TC3。