C言語の列挙型を引数としてどのように表現しますか?

C言語では、列挙型を関数のパラメータとして表現することができます。具体的な構文は次の通りです:

#include <stdio.h>

// 定义一个枚举类型
enum Weekday {
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
};

// 函数接受一个枚举类型作为参数
void printWeekday(enum Weekday day) {
    switch (day) {
        case Monday:
            printf("星期一\n");
            break;
        case Tuesday:
            printf("星期二\n");
            break;
        case Wednesday:
            printf("星期三\n");
            break;
        case Thursday:
            printf("星期四\n");
            break;
        case Friday:
            printf("星期五\n");
            break;
        case Saturday:
            printf("星期六\n");
            break;
        case Sunday:
            printf("星期日\n");
            break;
        default:
            printf("无效的日期\n");
            break;
    }
}

int main() {
    enum Weekday today = Tuesday;
    printWeekday(today);
    return 0;
}

上の例では、一週間の曜日を表す列挙型Weekdayを定義しました。その後、Weekday型のdayを引数として受け取り、dayの値に応じて曜日を出力するprintWeekday関数を定義しました。main関数では、Weekday型の変数todayを作成し、それにTuesdayを代入し、printWeekday関数に引数として渡しました。

結果は次の通りです:

星期二
bannerAds