#include <stdio.h>
int main()
{
/***************************************************
* 枚举:约束一些变量的取值在一个范围,但是C语言枚举是弱类型,本质是int
* 类型,可以任意的赋予合适的值,但是使用枚举时,应该遵守枚举对值的
* 约束,这样才可以体现枚举的作用,还有给枚举取一个有意义的名称有益于
* 不同人对枚举的认识。
* 枚举定义格式(类似于结构体)
* enum 枚举名称
* {
* 枚举常量,之间用逗号隔开(,)......
* };
* 定义枚举变量:enum Season 枚举变量 = 枚举元素;
* 枚举是整行的一种,没有给枚举赋值时,默认第一个元素为0,一次类推,
* 后面每个比前面一个大1,如果枚举中有的元素赋值了,那么他后面的元
* 素一个比一个大1,一次类推
****************************************************/
enum Season
{
spring,
summer,
autumn,
winter
};
enum Season s1 = spring;
enum Season s2 = summer;
enum Season s3 = autumn;
enum Season s4 = winter;
printf("spring %d \n", s1);
printf("spring %d \n", s2);
printf("spring %d \n", s3);
printf("spring %d \n", s4);
enum demo
{
one = 1,
two,
three,
four
};
enum demo d1 = one;
enum demo d2 = two;
enum demo d3 = three;
enum demo d4 = four;
printf("one %d \n", d1);
printf("two %d \n", d2);
printf("three %d \n", d3);
printf("four %d \n", d4);
enum demo1
{
one1 = 1,
one2,
one3 = 1,
one4
};
enum demo1 dd1 = one1;
enum demo1 dd2 = one2;
enum demo1 dd3 = one3;
enum demo1 dd4 = one4;
printf("one %d \n", dd1);
printf("two %d \n", dd2);
printf("three %d \n", dd3);
printf("four %d \n", dd4);
return 0;
}
spring 0
spring 1
spring 2
spring 3
one 1
two 2
three 3
four 4
one 1
two 2
three 1
four 2