为啥我的枚举和网上说的不太一样?
如下的代码按理说应该只能赋值0或1才对,为什么实际却不是这样啊?那枚举到底是怎么用的?#include <stdio.h>enum dota
{
pa,
sf
};
int main()
{
enum dota he;
he = 8;
//scanf("%d", &he);
printf("%d\n", he);
return 0;
}
枚举可以赋值Int类型的数据都可以,谁说一定要0,1,了 枚举变量实际上是一个int变量,与int不同的是你可以用不同的名字命名各个数值,然后用这些名字来给枚举变量赋值,让程序更加通俗易懂 Krant5 发表于 2018-12-7 16:01
枚举可以赋值Int类型的数据都可以,谁说一定要0,1,了
我的意思是我声明了两个枚举元素,系统给他们赋初值为0和1,所以我创建个he难道不是只能赋值0和1吗? rencaixiaomeng 发表于 2018-12-7 22:39
枚举变量实际上是一个int变量,与int不同的是你可以用不同的名字命名各个数值,然后用这些名字来给枚举变量 ...
不是,我的意思是我声明了两个枚举元素,系统给他们赋初值为0和1,所以我创建个he难道不是只能赋给他已有的两个值0和1吗? #include <stdio.h>
enum dota
{
pa,
sf
};
int main()
{
enum dota he;
he = pa; //是这样子用哦 一般用法enum的实体对应是声明时候额度宏 he = sf;
printf("%d\n", he);
return 0;
} syr7441 发表于 2018-12-8 14:03
我的意思是我声明了两个枚举元素,系统给他们赋初值为0和1,所以我创建个he难道不是只能赋值0和1吗?
没这个限制
页:
[1]