物聯網學習教程—列舉型別

千鋒教育官方發表於2019-08-30

  列舉:將變數的值一一列舉出來,變數的值只限於列舉出來的值的範圍內。


  申明列舉型別用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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章