枚举有关问题
枚举问题C/C++ code#include stdio.hint main (void){enum number { ONE 1, TWO} aa (enum number)
枚举问题
C/C++ code#include <stdio.h>int main (void){ enum number { ONE = 1, TWO} a; a = (enum number) 0; /* a = ONE;*/ printf ("%d\n", a); return 0;}
这里a的两种初始化应该是一样的为什么输出的是0。
[解决办法]要输出ONE, TWO只能自己写:
const char * numberstr[] =
{
"ONE", "TWO"
};
...
printf( "%s\n ", numberstr[(int)a)-1];
[解决办法]enum number { ONE = 1, TWO} a;你这样定义,说明了这个枚举的首个变量的值是1,不存在0
a = (enum number) 0;你这样定义,只是定义了一个枚举类型的a使他的值等于0,并不是说,让a指向了枚举的第一个变量
[解决办法][解决办法]%d不输出0,你想输出啥子嘛?
[解决办法][解决办法][解决办法]你的意思是a 现在是一个变量,这个变量类型是number
我现在有了这个变量能做什么呢??
[解决办法]怎么可能是一样的呢
enum number{ONE = 1, TWO}
占用的内存与整型变量是一样的,四个字节
将一个变量拷贝到了一个四字节的内存而已
[解决办法][解决办法]