枚举的结构
#include "stdafx.h"
enum Day
{
MON=1,TUE,WED,THU,FRI=400,SAT,SUN //整型常量
};
//值依次递增
//枚举中存放的是常量,还是int类型的,虽然有多个数据,但只是代表取值范围,取只取一个
//所以枚举大小为4字节,也就是sizeof(Day)为4
enum Flag
{
SUCCESS=0, FAILURE = -1 //SUCCESS不赋值默认也为0
};
int _tmain(int argc, _TCHAR* argv[])
{
enum Day day;
day = MON;
printf("day=%d\n", day);
printf("MON=%d\n", MON);
//MON = 100; 不能赋值 MON为常量
printf("TUE=%d\n", TUE);
printf("WED=%d\n", WED);
printf("THU=%d\n", THU);
printf("FRI=%d\n", FRI);
printf("SAT=%d\n", SAT);
printf("SUN=%d\n", SUN);
return SUCCESS;
}
枚举的应用(判断日期)
#include "stdafx.h"
#include <string.h>
#include <stdlib.h>
enum Day
{
MON,TUE,WED,THU,FRI,SAT,SUN
};
int _tmain(int argc, _TCHAR* argv[])
{
unsigned int today;
printf("请输入天数:");
scanf("%d", &today);
today = today % 7;
//enum DAY day = today;
// enum 常用于给 case 语句提供一类方便的标签。
switch (today)
{
case MON:
case TUE:
case WED:
case THU:
case FRI:
printf("today is workday\n");
break;
case SAT:
case SUN:
printf("today is holiday\n");
break;
}
return 0;
}