在编译代码时,它不会显示插入到结构体枚举变量中的值
此代码仅显示键盘输入0或1
React.useEffect(() => {
document.addEventListener('keydown', handleKeyPress)
return () => {
document.removeEventListener('keydown', handleKeyPress)
}
})
答案 0 :(得分:4)
请参见以下示例,
enum week{Mon, Tue, Wed, Thur, Fri, Sat, Sun};
int main()
{
enum week day;
day = Wed;
printf("%d",day);
return 0;
}
这里我们声明一个类型为day的变量day,并使用“字符串”将列表中的一个(数值)值分配给该变量,但是不可能采用其他方法。
答案 1 :(得分:1)
这等效于
enum latitude_pole {
North = 0,
South = 1
} pole;
这定义了变量pole
,其可能的值为North(0)和South(1)。
相当于写作
enum latitude_pole {
North = 0,
South
} pole;
因为如果您初始化一个成员,那么下一个成员将是+1
(先前的成员)。
在您的代码中,缺少初始化将默认插入第一个成员的值0和第二个成员的值。
答案 2 :(得分:0)
如果您不给枚举常量任何值,编译器将以静默方式进行。
第一个常量将始终被赋予值0
,随后的每个枚举常量将获得前一个常量+ 1的值。
对于您的情况{North,South}
,保证North
为0,保证South
为1。保证这些枚举常量的类型与{{1 }}。
如果您只明确键入了一些值,则该规则适用于每个获得前一+ 1值的常量。因此,如果您执行int
,他们将获得值{North,South,East=5,West}
。