C-枚举
2019-08-02 本文已影响0人
小石头呢
一.定义枚举类型
1.枚举语法定义格式:
enum 枚举名 {枚举元素1,枚举元素2,……};
2.枚举成员的值:
-
第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。
-
没有指定值的枚举元素,其值为前一元素加 1
3.定义枚举类型例子
//第一个枚举成员的值定义为 1,第二个就为 2,以此类推。
enum DAY{
MON=1, TUE, WED, THU, FRI, SAT, SUN
};
//spring 的值为 0,summer 的值为 3,autumn 的值为 4,winter 的值为 5
enum season {
spring, summer=3, autumn, winter
};
二.定义枚举变量
- 1.先定义枚举类型,再定义枚举变量
enum DAY{
MON=1, TUE, WED, THU, FRI, SAT, SUN
};
enum DAY day;
- 2.定义枚举类型的同时定义枚举类型
enum DAY{
MON=1, TUE, WED, THU, FRI, SAT, SUN
} day;
- 3.省略枚举名称,直接定义枚举
enum{
MON=1, TUE, WED, THU, FRI, SAT, SUN
} day;
三.枚举在switch中的使用
#include <stdio.h>
#include <stdlib.h>
int main(){
enum color { red=1, green, blue };
enum color favorite_color;
/* ask user to choose color */
printf("请输入你喜欢的颜色: (1. red, 2. green, 3. blue): ");
scanf("%d", &favorite_color);
/* 输出结果 */
switch (favorite_color){
case red:
printf("你喜欢的颜色是红色");
break;
case green:
printf("你喜欢的颜色是绿色");
break;
case blue:
printf("你喜欢的颜色是蓝色");
break;
default:
printf("你没有选择你喜欢的颜色");
}
return 0;
}
//运行
请输入你喜欢的颜色: (1. red, 2. green, 3. blue): 1
你喜欢的颜色是红色