枚举
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;
}
输入数字几即可打印星期几。