枚举变量初始化导致错误

里纳·西里尔(Reena Cyril)

如何初始化一个Enum变量?例如:

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);
}

上面的代码给出了错误,表明不能用RANK r = 0中的整数值来初始化枚举。但是我不明白为什么尽管枚举值是整数类型也会产生此错误。

迪利普·库马尔(Dilip kumar)

枚举的语法应修改。

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;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章