枚举
enum 枚举类型 {枚举值列表};
枚举就是把每一种可能的取值一一列举出来。
比如我们做的单项选择题,列举出来四种可能的选项,让我们选择最可能的那一项。
月份有12个月,也可以一一列举。
enum Month //月份 { Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec };
枚举类型的定义
enum Day//星期 { Mon, Tues, Wed, Thur, Fri, Sat, Sun };
enum Day , enum Month 都是枚举类型
{}中的都是可能取值,也就是枚举常量。
这些可能取值都是有值的,默认第一个从0开始,一次递增1,也可以在开始定义的时候赋初始值。
例如:
默认
赋初始值
枚举类型使用案例
调用枚举类型变量
enum Color { red,green,blue }; int main() { enum Color a, b, c; //创建枚举类型变量 a = blue; b = red; //赋值 c = green; printf("%d %d %d", a, b, c); return 0; }
具体使用案例
#include <stdio.h> enum weekday { mon=1, tue, wed, thu, fri, sat ,sun } day; //初始化mon=1,创建变量day。 int main() { int n; printf("请输入1到7的数:"); scanf("%d", &n); day = (enum weekday)n; //类型转换 switch (day) { case mon: printf("monday\n"); break; case tue: printf("tuesday\n"); break; case wed: printf("wednesday\n"); break; case thu: printf("thursday\n"); break; case fri: printf("friday\n"); break; case sat: printf("satday\n"); break; case sun: printf("sunday\n"); break; default: printf("输入错误\n"); break; } return 0; }
输入数字几即可打印星期几。