当前位置:首页 » 编程语言 » c语言枚举

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]!='';index++)
if(SPACE!=str[index])
count_of_letter++;
else
{
match_flag=(enumBOOLEAN)1;
count_of_space++;
}
printf("%s%dtimes%c",match_flag?"match":"notmatch",count_of_space,NEWLINE);
printf("countofletters:%d%c%c",count_of_letter,NEWLINE,RETURN);
}

⑸ C语言枚举类型怎么用

枚举类型定义时,定义的是可以枚举的常量,常量符号的值在定义枚举时已经初始化完成。
有没有枚举变量都不影响已经存在的可枚举常量,
定义枚举变量将来也是要赋值某一枚举常量的。

比如:
WeekTypedef day=Monday;

⑹ 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语言中的枚举

常量可以赋初值,不能二次赋值。
如:const int i = 1; //正确
i = 2; //错误
否则的话,你要如何初始化一个常量?

⑻ c语言中枚举

你好!!!
枚举类型就是一种共同占有一段内存的数据类型,其成员的类型默认是int类型
即J,H,G只占一个int类型的空间大小;都是int 在c++中int占4个字节,

⑼ 关于C语言枚举

枚举类型不支持++操作,i++改为i=yanse(i+1),j等类似,即可。

热点内容
java调用shell脚本参数 发布:2025-01-10 14:43:51 浏览:51
php数组计数 发布:2025-01-10 14:23:03 浏览:474
s盒算法 发布:2025-01-10 14:16:42 浏览:642
c语言用二分法求方程 发布:2025-01-10 14:15:45 浏览:219
广场舞加密 发布:2025-01-10 14:13:21 浏览:520
网络密码显示低安全性是什么意思 发布:2025-01-10 14:11:49 浏览:781
耻辱2博士保险箱密码是多少 发布:2025-01-10 14:11:41 浏览:100
如何把服务器搭在自己电脑 发布:2025-01-10 14:10:57 浏览:584
水晶可以存储 发布:2025-01-10 14:09:35 浏览:390
一级脚本号 发布:2025-01-10 14:08:06 浏览:533