#define _CRT_SECURE_NO_WARNINGS 1 //枚举-----有限个类型,一一列举(和结构体对照记忆,但不一样) //例如:一年的月份,有12月,可以一一列举... //枚举优点: //1.增加代码可读性和可维护性 //2.和#define定义的标识符比较枚举有类型检查,更严谨(例如第19行) //3.防止命名污染(枚举定义的符号,只是在枚举内使用,有范围,,define定义的符号是全局的,名称会冲突) //4.便于调试(如int a=red;int a=5 define定义,在调试时依旧看不到,枚举调试时能看见5和red) //5.使用方便,不用像define一样每次只能定义一个常量 #include<stdio.h> //enum color //{ // red, // green=8,//此时green表示8 // blue//此时blue表示9 //}; //int main() //{ // enum color c= blue;//等价于enum color c= 2;但不能写成enum color c= 2; // printf("%d\n", red);//0 // printf("%d\n", green);//8,,,,将1赋值改为8 // printf("%d\n", blue);//9 // return 0; //} //增加代码可读性----应用场景 enum Option { EXIT,//0 ADD,//1 SUB,//2 MUL,//3 DIV,//4 }; void menu() { printf("************************************"); printf("**** 1.ADD 2.SUB ****"); printf("**** 3.MUL 4.DIV ****"); printf("**** 0.EXIT ****"); printf("************************************"); } int main() { int input = 0; do { enmu(); printf("请选择\n"); scanf("%d", &input); switch (input) { case ADD: //替换原来的case 1: //ADD(); break; case SUB://是:不是; break; case MUL: break; case DIV: break; } } while (input); return 0; }