我用C编程,我有一些枚举,让我们说它是一个枚举名称hello,它里面有3个属性--A,B和C.
如何使A等于0,B等于2,C等于3,而不是每个值只增加1?
提前致谢!
答案 0 :(得分:2)
就这样做
enum X
{
A = 0,
B = A + 2,
C = B + 2
};
如果您希望每次增加2,或者只想第一次增加
enum X
{
A = 0,
B = A + 2,
C = B + 1
};
请注意,第一个将自动为0
,因此不需要A = 0
我的回答只是为了明确A == 0
,在第二种情况下和默认情况下增量为1
也没有必要写C = B + 1
,如果将其应用于代码,它看起来像
enum X
{
A,
B = A + 2,
C
};
您可以为每个enum
分配一个值,例如
enum X
{
A = 0,
B = 2,
C = 3,
};
答案 1 :(得分:2)
C允许您使用常量表达式来定义enum
值。由于在表达式中使用enum
值和数字常量会生成常量表达式,因此可以执行以下操作:
enum hello {
A // You can assign zero explicitly, or let the compiler do it for you
, B = A + 2
, C // Again, you can assign B+1, or let the compiler do it for you
};
答案 2 :(得分:2)
你可以试试这个。
enum X
{
A = 0,
B = A + 2,
C = B + 1
};
否则你可以在不指定的情况下离开
enum X
{
A,
B = A + 2,
C
};
虽然给A自动将值0分配给A.然后我们分配2.然后枚举将分配先前值的增量。所以C为值3。