C语言 枚举
枚举:将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。
枚举类型定义:
enum 枚举名 { 枚举值表 };
在枚举值表中应列出所有可用值,也称为枚举元素。
枚举值是常量,不能在程序中用赋值语句再对它赋值。
举元素本身由系统定义了一个表示序号的数值从0开始顺序定义为0,1,2 …
案例
#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 ", a, b, c); enum bool flag; flag = true; if (flag == 1) { printf("flag为真 "); } return 0; }
#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("红色 "); break; case blue: printf("蓝色 "); break; case green: printf("绿色 "); break; case pink: printf("粉色 "); break; case yellow: printf("黄色 "); break; case black: printf("黑色 "); break; case white: printf("白色 "); break; default: break; } return 0; }
#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("英雄正在移动中.. "); break; case attack: printf("英雄正在攻击中.. "); break; case skill: printf("英雄正在释放技能.. "); break; case dance: printf("英雄正在跳舞中.. "); break; case showUI: printf("英雄正在显示狗牌.. "); break; case frozone: printf("英雄正在被冰冻中.. "); break; case dizz: printf("英雄正在眩晕中.. "); break; case dath: printf("英雄死亡.. "); return 0; break; case moti: printf("英雄等待释放命令.. "); break; default: break; } } return 0; }