物聯網學習教程—列舉型別
列舉:將變數的值一一列舉出來,變數的值只限於列舉出來的值的範圍內。
申明列舉型別用enum
enum weekday{sun,mon,tue,wed,thu,fri,sat};
定義變數:
enum weekday workday,week-day;
enum{sun,mon,tue,wed,thu,fri,sat}workday;
變數值只能是sun到sat之一。
說明:
(1)在C編譯中,對列舉元素按常量處理,故稱列舉常量。它們不是變數,不能對它們賦值。
(2)列舉元素作為常量,它們是有值的,C語言編譯按定義時的順序使它們的值為0,1,2…
(3)列舉值可以用來作判斷比較。
(4)一個整數不能直接賦給一個列舉變數。
例1、口袋中有紅、黃、藍、白、黑5種顏色的球若干個。每次從口袋中先後取出3個球,問得到3種不同色的球的可能取法,輸出每種排列的情況。
#include<stdio.h>
main()
{enum color{red,yellow,blue,white,black};
enum color i,j,k,pri;int n,loop;n=0;
for(i=red;i<=black;i++)
for(j=red;j<=black;j++)
if(i!=j)
{for(k=red;k<=black;k++)
if((k!=i)&&(k!=j))
{n=n+1;
printf("%-4d",n);
for(loop=1;loop<=3;loop++)
{switch(loop)
{case 1:pri=i;break;
case 2:pri=j;break;
case 3:pri=k;break;
default:break;
}
switch(pri)
{case red:printf("%-10s","red");break;
case yellow:printf("%-10s","yellow");break;
case blue:printf("%-10s","blue");break;
case white:printf("%-10s","white");break;
case black:printf("%-10s","black");break;
default:break;
}
}
printf("\n");
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69914734/viewspace-2655598/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 物聯網學習教程—用typedef定義型別型別
- java中的列舉型別學習Java型別
- 物聯網學習教程——一維陣列的引用陣列
- 物聯網學習教程——二維陣列的引用陣列
- 物聯網學習教程—定義結構體型別變數的方法結構體型別變數
- 物聯網學習教程— 多維陣列與指標陣列指標
- 物聯網學習教程—多型的實現機制多型
- 物聯網學習教程——if語句
- 物聯網學習教程——switch語句
- 物聯網學習教程——if語句2
- Java基礎教程(15)–列舉型別Java型別
- 列舉型別型別
- 物聯網學習教程—字串與指標字串指標
- 物聯網學習教程—const關鍵字
- 物聯網學習教程—檔案的定位
- 物聯網學習教程——執行緒池執行緒
- ENUM列舉型別型別
- 物聯網學習教程—Const用法和體會
- 物聯網學習教程—const用法的體會
- 物聯網路卡有哪些型別型別
- 物聯網學習教程—c++學習應該注意的點C++
- Java - Enum 列舉型別Java型別
- 物聯網學習教程——格式輸入與輸出
- 物聯網學習教程—檔案的讀寫二
- 物聯網學習教程—檔案的讀寫一
- 物聯網學習教程—— 執行緒私有資料執行緒
- 物聯網學習教程—函式的返回值函式
- Rust的列舉型別EnumRust型別
- java中的列舉型別Java型別
- JavaSE基礎:列舉型別Java型別
- 【C++】資料型別-列舉型C++資料型別
- 物聯網學習教程— 字元指標作函式引數字元指標函式
- 物聯網學習教程—常見錯誤和程式除錯除錯
- 物聯網的學習路線
- C++ 列舉型別介紹C++型別
- 列舉型別分享 第五節型別
- java基礎(十一) 列舉型別Java型別
- 分析三種型別的物聯網平臺型別