#include<stdio.h> enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN }; int main() { enum DAY day; //定義枚舉變量 day = WED; printf("%d",day); return 0; } //控制台輸出3
下面這段是枚舉類型
enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN //這些叫枚舉常量 };
enum DAY ------------ DAY是枚舉類型名
enum DAY day -----------day是枚舉類型變量
枚舉類型變量的取值范圍就是上面定義的枚舉類型里面的枚舉常量
因此枚舉類型變量賦值只能賦值上面的常量
例如 day=WED, 是正確的, day=AAA這就是錯誤的。
當然你會說我賦值AAA也沒錯啊,那是因為有些gcc編譯不檢查限制范圍,所以不報錯。
枚舉類型應用例子:
#include <stdio.h> #include <stdlib.h> int main() { enum color { red=1, green, blue }; enum color favorite_color; /* ask user to choose color */ printf("請輸入你喜歡的顏色: (1. red, 2. green, 3. blue): "); scanf("%d", &favorite_color); /* 輸出結果 */ switch (favorite_color) { case red: printf("你喜歡的顏色是紅色"); break; case green: printf("你喜歡的顏色是綠色"); break; case blue: printf("你喜歡的顏色是藍色"); break; default: printf("你沒有選擇你喜歡的顏色"); } return 0; }