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