c语言枚举类型变量的作用

#include<stdio.h>
 
enum DAY
{
      MON=1, TUE, WED, THU, FRI, SAT, SUN
};
 
int main()
{
    enum DAY day; //定义枚举变量
    day = WED;
    printf("%d",day);
    return 0;
}

//控制台输出3
下面这段是枚举类型
enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN //这些叫枚举常量 };

enum DAY ------------  DAY是枚举类型名

enum DAY day -----------day是枚举类型变量

枚举类型变量的取值范围就是上面定义的枚举类型里面的枚举常量

因此枚举类型变量赋值只能赋值上面的常量

例如  day=WED, 是正确的, day=AAA这就是错误的。

当然你会说我赋值AAA也没错啊,那是因为有些gcc编译不检查限制范围,所以不报错。

枚举类型应用例子:

#include <stdio.h>
#include <stdlib.h>
int main()
{
 
    enum color { red=1, green, blue };
 
    enum  color favorite_color;
 
    /* ask user to choose color */
    printf("请输入你喜欢的颜色: (1. red, 2. green, 3. blue): ");
    scanf("%d", &favorite_color);
 
    /* 输出结果 */
    switch (favorite_color)
    {
    case red:
        printf("你喜欢的颜色是红色");
        break;
    case green:
        printf("你喜欢的颜色是绿色");
        break;
    case blue:
        printf("你喜欢的颜色是蓝色");
        break;
    default:
        printf("你没有选择你喜欢的颜色");
    }
 
    return 0;
}
原文地址:https://www.cnblogs.com/JahanGu/p/10420217.html