學習筆記(12):C語言入門到精通-枚舉類型-下

立即學習:https://edu.csdn.net/course/play/10534/380016?utm_source=blogtoedu

學習目標:

1. 掌握枚舉類型的使用方法。

 

示例代碼:

#include <stdio.h>
#include <string.h>

void first_kind(char* in_color) {
    enum colour {
        white,
        black,
        blue,
        red,
        other
    };

    enum colour my_color = white;

    if (strcmp(in_color, "white") == 0) {
        my_color = white;
    } else if (strcmp(in_color, "black") == 0) {
        my_color = black;
    } else if (strcmp(in_color, "blue") == 0) {
        my_color = blue;
    } else if (strcmp(in_color, "red") == 0) {
        my_color = red;
    } else {
        my_color = other;
    }

    printf("first >> %s: %d\n", in_color, my_color);
}

void second_kind(char* in_color) {
    enum colour {
        white = 1,
        black,
        blue,
        red,
        other
    } my_color;

    if (strcmp(in_color, "white") == 0) {
        my_color = white;
    } else if (strcmp(in_color, "black") == 0) {
        my_color = black;
    } else if (strcmp(in_color, "blue") == 0) {
        my_color = blue;
    } else if (strcmp(in_color, "red") == 0) {
        my_color = red;
    } else {
        my_color = other;
    }

    printf("second >> %s: %d\n", in_color, my_color);
}

void third_kind(char* in_color) {
    enum {
        white = 2,
        black = 4,
        blue = 8,
        red = 16,
        other = 32
    } my_color;

    if (strcmp(in_color, "white") == 0) {
        my_color = white;
    } else if (strcmp(in_color, "black") == 0) {
        my_color = black;
    } else if (strcmp(in_color, "blue") == 0) {
        my_color = blue;
    } else if (strcmp(in_color, "red") == 0) {
        my_color = red;
    } else {
        my_color = other;
    }

    printf("third >> %s: %d\n", in_color, my_color);

}

void fourth_kind(char* in_color) {
    typedef enum {
        white,
        black,
        blue,
        red,
        other
    } colour;

    colour my_color = white;

    if (strcmp(in_color, "white") == 0) {
        my_color = white;
    } else if (strcmp(in_color, "black") == 0) {
        my_color = black;
    } else if (strcmp(in_color, "blue") == 0) {
        my_color = blue;
    } else if (strcmp(in_color, "red") == 0) {
        my_color = red;
    } else {
        my_color = other;
    }

    printf("fourth >> %s: %d\n", in_color, my_color);

}

int main() {
    char in_color[16] = {0};

    printf("please input your like color: ");
    scanf("%s", in_color);

    first_kind(in_color);
    second_kind(in_color);
    third_kind(in_color);
    fourth_kind(in_color);

    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章