1、可以的,在C里面,enum类型其实就是int型,但是在C++里不可以。
在C里面可以这样:
enum color{RED, GREEN, BLUE} ;
enum color a;
scanf("%d", &a);
如果输入的是0,对应的是RED,1对应的是GREEN,2对应的BLUE
2、enum是计算机编程语言中的一种数据类型。枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等。如果把这些量说明为整型,字符型或其它类型显然是不妥当的。为此,C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变量取值不能超过定义的范围。应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型。
可以的,在C里面,enum类型其实就是int型,但是在C++里不可以。
在C里面可以这样:
enum color{RED, GREEN, BLUE} ;
enum color a;
scanf("%d", &a);
如果输入的是0,对应的是RED,1对应的是GREEN,2对应的BLUE
你用
printf("%d%d%d\n", RED, GREEN, BLUE);会输出012
enum(枚举)类型是不能被复制的,这只是一个枚举类型,其定义的成员的值和含义在定义的时候就已经被固定。
你应该使用结构体(struct) 或者是 联合体(union)。
不可以只能在enum里面赋值定义,也可以的就是要转个弯,比如你用SCANF输入i的值,再在enum里面给变量赋值就可以了,你不觉得这样麻烦了吗?
不能。 只能事先定义好的。