gpt4 book ai didi

c - 枚举变量初始化导致错误

转载 作者:行者123 更新时间:2023-11-30 18:22:08 25 4
gpt4 key购买 nike

如何初始化枚举变量?例如:

enum RANK{First=1,Second,Third};

main()
{
RANK r=0;
int marks=0;
printf("Enter the marks obtained\n");
scanf("%d",&marks);
if(marks>=90)
r=First;
else if(marks>=80)
r=Second;
else
r=Third;
printf("Rank=%d\n",r);
}

上面的代码给出了错误,告知 enum 不能用 RANK r=0 中的整数值进行初始化;但我不明白为什么枚举值是整数类型时会生成此错误。

最佳答案

应该修改枚举的语法。

typedef enum {First=1,Second,Third} RANK;
RANK my_RANK = First;

如果你不想使用 typedef 使用这个

enum RANK {First=1,Second,Third};
enum RANK my_RANK = First;

也可以这样使用

enum { First=1,Second,Third } RANK = FIRST;

关于c - 枚举变量初始化导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28935800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com