简书链接:c语言枚举的定义和使用
文章字数:95,阅读全文大约需要1分钟

1
2
3
4
5
6
7
8
9
10
11
enum WEEK{
MON,TUE,WED,THU,FRI,SAT,SUN
};

int num;
auto int month;
register int miles;//不能用&取地址
int mount;
enum WEEK week=WED;
printf("枚举 %p\n",week);
{

和java的区别在于 使用的时候也需要加上enum而后面则不需要添加WEEK.

另外枚举可以写在方法外面也可以写在里面。
只支持int,不填写值默认从0开始,省略的递增。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
for (day = MON; day <= SUN; day++) {
printf("星期 %d\n", day);
}

enum PLAYMODE playmode;
for (playmode = LOOP_PLAY; playmode <= RANDOM_PLAY; playmode++) {
printf("播放模式 %d\t", playmode);
}

int playmodeInt;
printf("\n请输入播放模式序号:\n");
scanf("%d", &playmodeInt);

playmode = (enum PLAYMODE) playmodeInt;