枚举,一种构造类型,用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。
枚举的目的就是提高程序的可读性;
枚举的特殊属性:
初始化一个枚举类型:
enum day {Sun=0,Mon,Tue,Wed,Thu,Fri,Sat};
定义Sun为0,后面的Mon Tue Wed 就为1 2 3
enum day {Sun,Mon=10,Tue,Wed,Thu,Fri,Sat};
此时Sun为0 Mon=10 Tue=11 Wed=12·······
1 #include2 #include 3 #include 4 enum day {Sun=0,Mon,Tue,Wed,Thu,Fri,Sat}; 5 const char * dds[] = { "Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; 6 int main(void) 7 { 8 enum day dd,yy; 9 char days[5];10 printf("please input one day:\n");11 fgets(days,4,stdin);12 for(dd=Sun; dd<=Sat; dd++)13 {14 if(strcmp(days,dds[dd])==0) //比较字符串15 {16 break;17 }18 }19 switch(dd)20 {21 case Sun:printf("tomorrow is mon\n"); break;22 case Mon:printf("tomorrow is tue\n"); break;23 case Tue:printf("tomorrow is wed\n"); break;24 case Wed:printf("tomorrow is thu\n"); break;25 case Thu:printf("tomorrow is fri\n"); break;26 case Fri:printf("tomorrow is sat\n"); break;27 case Sat:printf("tomorrow is sun\n"); break;28 }29 30 }