列挙する
enum 列挙型 {列挙値リスト};
列挙とは、考えられるすべての値を 1 つずつ列挙することです。
たとえば、多肢選択式の質問では、考えられる選択肢が 4 つリストされており、最も可能性の高いものを選択させます。
月は 12 か月あり、1 つずつリストすることもできます。
enum Month //月份
{
Jan,
Feb,
Mar,
Apr,
May,
Jun,
Jul,
Aug,
Sep,
Oct,
Nov,
Dec
};
enum型の定義
enum Day//星期
{
Mon,
Tues,
Wed,
Thur,
Fri,
Sat,
Sun
};
enum Day と enum Month は
すべて、列挙型 {} で取り得る値、つまり列挙定数です。
これらの可能な値にはすべて値があります。デフォルトでは、最初の値は 0 から始まり、一度に 1 ずつ増加します。定義の先頭に初期値を割り当てることもできます。
例えば:
デフォルト
初期値を割り当てる
列挙型の使用例
enum型変数を呼び出す
enum Color
{
red,green,blue
};
int main()
{
enum Color a, b, c; //创建枚举类型变量
a = blue;
b = red; //赋值
c = green;
printf("%d %d %d", a, b, c);
return 0;
}
特定の使用例
#include <stdio.h>
enum weekday {
mon=1, tue, wed, thu, fri, sat ,sun } day; //初始化mon=1,创建变量day。
int main()
{
int n;
printf("请输入1到7的数:");
scanf("%d", &n);
day = (enum weekday)n; //类型转换
switch (day)
{
case mon: printf("monday\n"); break;
case tue: printf("tuesday\n"); break;
case wed: printf("wednesday\n"); break;
case thu: printf("thursday\n"); break;
case fri: printf("friday\n"); break;
case sat: printf("satday\n"); break;
case sun: printf("sunday\n"); break;
default: printf("输入错误\n"); break;
}
return 0;
}
曜日を印刷する数値を入力します。