//
// Created by yang on 2023/2/15.
//
#include "stdio.h"
// 枚举: 逐一列出
enum GRADE {
GOOD, // default value is 0
MEDIUM, // value = 1
BAD // value = 2
};
enum LEVEL {
HIGH = 100, // overwrite the default value
MIDDLE = 50, // overwrite the default value
LOW = 0 // overwrite the default value
};
enum LEVEL2 {
HIGH2 = 10, // overwrite the default value
MIDDLE2, // value is 11
LOW2= 20, // overwrite the default value
VERY_LOW2 // value is 21
};
int main() {
enum GRADE good = GOOD;
enum GRADE medium = MEDIUM;
enum GRADE bad = BAD;
printf("%d-%d-%d\n", good, medium, bad);
enum LEVEL high = HIGH;
enum LEVEL middle = MIDDLE;
enum LEVEL low = LOW;
printf("%d-%d-%d\n", high, middle, low);
enum LEVEL2 high2 = HIGH2;
enum LEVEL2 middle2 = MIDDLE2;
enum LEVEL2 low2 = LOW2;
enum LEVEL2 very_low2 = VERY_LOW2;
printf("%d-%d-%d-%d\n", high2, middle2, low2, very_low2);
// 枚举通常用于 switch 语句中
enum LEVEL2 level = LOW2;
switch (level) {
case 10:
printf("high2\n");
break;
case 11:
printf("middle2\n");
break;
case 20:
printf("low2\n");
break;
case 21:
printf("very_low2\n");
break;
}
return 0;
}
枚举有默认值 是整形 从0开始
可以给赋值 利用递增规则
常用于 swict 语句