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]!='