C语言 枚举
C语言 枚举
枚举:将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。
枚举类型定义:
enum 枚举名 { 枚举值表 };
在枚举值表中应列出所有可用值,也称为枚举元素。
枚举值是常量,不能在程序中用赋值语句再对它赋值。
举元素本身由系统定义了一个表示序号的数值从0开始顺序定义为0,1,2 …
案例
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include <stdio.h> enum weekday { sun = 2, mon, tue, wed, thu, fri, sat } ; enum bool { flase, true }; int main() { enum weekday a, b, c; a = sun; b = mon; c = tue; printf("%d,%d,%d\n", a, b, c); enum bool flag; flag = true; if (flag == 1) { printf("flag为真\n"); } return 0; }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <time.h> enum Color { red,blue,green,pink,yellow,black,white }; int main(void) { enum Color color; // 输入数字打印颜色 int value; scanf("%d", &value); // 默认0开始 switch (value) { case red: printf("红色\n"); break; case blue: printf("蓝色\n"); break; case green: printf("绿色\n"); break; case pink: printf("粉色\n"); break; case yellow: printf("黄色\n"); break; case black: printf("黑色\n"); break; case white: printf("白色\n"); break; default: break; } return 0; }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <time.h> // 创建文字游戏 enum TYPE { run,attack,skill,dance=10,showUI,frozone=20,dizz,dath,moti=30 }; int main(void) { enum Color color; int value; while (1) { scanf("%d", &value); switch (value) { case run: printf("英雄正在移动中..\n"); break; case attack: printf("英雄正在攻击中..\n"); break; case skill: printf("英雄正在释放技能..\n"); break; case dance: printf("英雄正在跳舞中..\n"); break; case showUI: printf("英雄正在显示狗牌..\n"); break; case frozone: printf("英雄正在被冰冻中..\n"); break; case dizz: printf("英雄正在眩晕中..\n"); break; case dath: printf("英雄死亡..\n"); return 0; break; case moti: printf("英雄等待释放命令..\n"); break; default: break; } } return 0; }