C语言之枚举

//
// 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 语句
全部评论

相关推荐

06-02 15:53
阳光学院 Java
点赞 评论 收藏
分享
评论
点赞
8
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务