枚举数中'四'的值是多少?

时间:2014-02-20 14:23:46

标签: c enums

我是C语言的新手。我发现了一个问题,要求用C语言找到枚举数的值。具体问题如下:

在C语言中考虑以下声明

enum numbers {one = 5, two = -6, three, four};

请帮助我在这些枚举号中找到“”的值。还请告诉我这个枚举声明是如何工作的?

1 个答案:

答案 0 :(得分:2)

应该是-4。 C99标准的相关部分(§6.7.2.2,第3节)规定:

  

<强>语义

     

枚举器列表中的标识符声明为常量   有类型int,可能出现在允许的地方.109)An   enumerator with =将其枚举常量定义为。的值   不断表达。如果第一个枚举器没有=,则值为   它的枚举常量为0.每个后续的枚举数都没有=   将其枚举常量定义为常量的值   通过将1加到前一个值得到的表达式   枚举常数。 (使用枚举器   =可以生成枚举常量,其值与同一枚举中的其他值重复。)枚举的枚举数是   也被称为其成员。

引自ISO / IEC 9899:TC3。