c語言枚舉
發布時間: 2022-02-15 11:45:19
⑴ c語言的枚舉類型
enum類型定義,沒有設定第一個標簽的值,則默認為0,此後每個標簽的值都是上一個的值+1。
自然,my=0
your顯示賦值了,your=4
his沒顯示賦值,his=you+1=4+1=5
her顯示賦值了,her=his+10=5+10=15
0 4 5 15
⑵ c語言枚舉類型
答案是5沒錯啊。
賦值mon=3
後續依次加一。
於是tue=4
wed=5
賦值workday=wed也就是5. 輸出自然是5.
⑶ C語言中枚舉是怎用的
很簡單的代碼呀,沒涉及到C語言的枚舉,至於具體含義就是程序的演算法了,得仔細認真分析。
可按照如下方法去解:
1、將代碼整理對齊;
2、給各句注釋;
3、對著注釋連貫理解;
如果有分我給你的慢慢分析吧。
⑷ c語言枚舉用法
一、對枚舉型的變數賦值。
實例將枚舉類型的賦值與基本數據類型的賦值進行了對比:
方法1:先聲明變數,再對變數賦值
#include<stdio.h>
/*定義枚舉類型*/
enumDAY{MON=1,TUE,WED,THU,FRI,SAT,SUN};
voidmain()
{
/*使用基本數據類型聲明變數,然後對變數賦值*/
intx,y,z;
x=10;
y=20;
z=30;
/*使用枚舉類型聲明變數,再對枚舉型變數賦值*/
enumDAYyesterday,today,tomorrow;
yesterday=MON;
today=TUE;
tomorrow=WED;
printf("%d%d%d ",yesterday,today,tomorrow);
}
方法2:聲明變數的同時賦初值
#include<stdio.h>
/*定義枚舉類型*/
enumDAY{MON=1,TUE,WED,THU,FRI,SAT,SUN};
voidmain()
{
/*使用基本數據類型聲明變數同時對變數賦初值*/
intx=10,y=20,z=30;
/*使用枚舉類型聲明變數同時對枚舉型變數賦初值*/
enumDAYyesterday=MON,
today=TUE,
tomorrow=WED;
printf("%d%d%d ",yesterday,today,tomorrow);
}
方法3:定義類型的同時聲明變數,然後對變數賦值。
#include<stdio.h>
/*定義枚舉類型,同時聲明該類型的三個變數,它們都為全局變數*/
enumDAY{MON=1,TUE,WED,THU,FRI,SAT,SUN}yesterday,today,tomorrow;
/*定義三個具有基本數據類型的變數,它們都為全局變數*/
intx,y,z;
voidmain()
{
/*對基本數據類型的變數賦值*/
x=10;y=20;z=30;
/*對枚舉型的變數賦值*/
yesterday=MON;
today=TUE;
tomorrow=WED;
printf("%d%d%d ",x,y,z);//輸出:102030
printf("%d%d%d ",yesterday,today,tomorrow);//輸出:123
}
方法4:類型定義,變數聲明,賦初值同時進行。
#include<stdio.h>
/*定義枚舉類型,同時聲明該類型的三個變數,並賦初值。它們都為全局變數*/
enumDAY
{
MON=1,
TUE,
WED,
THU,
FRI,
SAT,
SUN
}
yesterday=MON,today=TUE,tomorrow=WED;
/*定義三個具有基本數據類型的變數,並賦初值。它們都為全局變數*/
intx=10,y=20,z=30;
voidmain()
{
printf("%d%d%d ",x,y,z);//輸出:102030
printf("%d%d%d ",yesterday,today,tomorrow);//輸出:123
}
2、對枚舉型的變數賦整數值時,需要進行類型轉換。
#include<stdio.h>
enumDAY{MON=1,TUE,WED,THU,FRI,SAT,SUN};
voidmain()
{
enumDAYyesterday,today,tomorrow;
yesterday=TUE;
today=(enumDAY)(yesterday+1);//類型轉換
tomorrow=(enumDAY)30;//類型轉換
//tomorrow=3;//錯誤
printf("%d%d%d ",yesterday,today,tomorrow);//輸出:2330
}
3、使用枚舉型變數
#include<stdio.h>
enum
{
BELL='a',
BACKSPACE='',
HTAB=' ',
RETURN=' ',
NEWLINE=' ',
VTAB='v',
SPACE=''
};
enumBOOLEAN{FALSE=0,TRUE}match_flag;
voidmain()
{
intindex=0;
intcount_of_letter=0;
intcount_of_space=0;
charstr[]="I'mElyefod";
match_flag=FALSE;
for(;str[index]!='