#include<stdio.h>
//运用枚举显然可以也是为了使数据表达定义等更加方便快捷省时省力:
#define MON 1
//省略
#define SUN 7
/*第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。
我们在这个实例中把第一个枚举成员的值定义为 1,第二个就为 2,以此类推达到与上边相同的效果 */
enum Day//Day是枚举类型,而day才是枚举变量
{
MON=1,YUE,WED,THU,FRI,SAT,SUN
}day;
enum season { spring, summer = 3, autumn, winter };
//这种情况下spring就是默认的0,summer是3,autumn是4,winter依次是5
int main()
{
// 遍历枚举元素,注意遍历只有在连续的枚举中才能使用
//注意这个++递增无法在c++的枚举.cpp中使用,只能在c语言.c文件里使用
for (day = MON; day <= SUN; day++)
{
printf("日期:%d \n", day);
}
//下面是一个枚举应用实例
enum color { red = 1, green, blue };//这里完全可以多搞一些来突出作用
enum color favorite_color;
/* 用户输入数字来选择颜色 */
printf("请输入你喜欢的颜色: (1. red, 2. green, 3. blue): ");
scanf("%u", &favorite_color);
/* 输出结果 */
switch (favorite_color)
{
case red:
printf("你喜欢的颜色是红色");
break;
case green:
printf("你喜欢的颜色是绿色");
break;
case blue:
printf("你喜欢的颜色是蓝色");
break;
default:
printf("你没有选择你喜欢的颜色");
}
enum day//将整数转化为枚举的例子
{
saturday,
sunday,
monday,
tuesday,
wednesday,
thursday,
friday
} workday;
int a = 1;
enum day weekend;
weekend = (enum day)a; //进行类型转换的形式
//weekend = a; 错误,要加上他是枚举day里边的这样如上所示的修饰
printf("weekend:%d", weekend);
//这里输出是1
return 0;
}