韩顺平C语言
枚举
基本语法
枚举是一种构造数据类型,针对只有几个有限的特定数据,是一组常量的组合
若没有给第一个值,默认为0
enum DAY{
MON=1,TUE=2
};
enum DAY day;
day = MON;//对枚举变量赋值,只能赋值枚举元素
printf("%d", day);//打印,按照整数打印
枚举的遍历
day++要求枚举的元素是连续的
enum DAY{
MON=1,TUE,WEN,THU//按顺序赋值
}day;//定义了一个枚举类型和day变量
for(day=MON;day<=THU;day++){
printf("枚举元素:%d\n", day);//打印,按照整数打印
}
枚举和switch
#include <stdio.h>
int main(void) {
enum season{
spring=1,summer,autumn=7,winter//按顺序赋值,winter会是8
}se;//定义了一个枚举类型和day变量
printf("请输入你最喜欢的季节(1代表春天):");
scanf("%d",&se);
switch(se){
case spring:
printf("春天");
case summer:
printf("夏天");
case autumn:
printf("秋天");
case winter:
printf("冬天");
default:
printf("你没有选择你喜欢的季节");
}
return 0;
}
转换
可以把整数可以转为枚举类型,赋给枚举变量;不能直接将整数赋给枚举变量
int n = 4;
season = (enum season)n