c語言枚舉類型
① c語言中的枚舉型什麼意思
給出正確代碼,自己做對比。#include<stdio.h>#define
m
100void
arrout(int
*,int);int
arrin(int
*);void
main()
//------->此處主函數類型為void{
int
s[m],k;
k=arrin(s);
arrout(s,k);}int
arrin(int
*a){
int
i,x;
i=0;
scanf("%d",&x);
while(x>0)
{
*(a+i)=x;
i++;
scanf("%d",&x);
}
return
i;}void
arrout(int
*a,int
n){
int
i;
for(i=0;i<n;i++)
{
printf(((i+1)%5==0)?
"%4d\n"
:
"%4d",*(a+i));
//----->三目運算格式錯誤,中間是冒號,少了個括弧自己對比
printf("\n");
}}
② C語言枚舉類型怎麼用
枚舉類型定義時,定義的是可以枚舉的常量,常量符號的值在定義枚舉時已經初始化完成。
有沒有枚舉變數都不影響已經存在的可枚舉常量,
定義枚舉變數將來也是要賦值某一枚舉常量的。
比如:
WeekTypedef day=Monday;
③ c語言枚舉類型
答案是5沒錯啊。
賦值mon=3
後續依次加一。
於是tue=4
wed=5
賦值workday=wed也就是5. 輸出自然是5.
④ 什麼是c語言裡面的枚舉類型
"枚舉類型是一系列常量。例如星期,一共有七個,我們的確可以用二樓宏定義的方法,一個一個的define。而用枚舉類型就更加直接明了。
enum
WEEK={MON,TUE,WED,THU,FRI,SAT,SUN}
默認MON的值就是0,之後依次類推。"
⑤ 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]!='