读书人

枚举有关问题

发布时间: 2012-03-13 11:21:11 作者: rapoo

枚举问题

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指向了枚举的第一个变量
[解决办法]
探讨
enum number { ONE = 1, TWO} a;你这样定义,说明了这个枚举的首个变量的值是1,不存在0
a = (enum number) 0;你这样定义,只是定义了一个枚举类型的a使他的值等于0,并不是说,让a指向了枚举的第一个变量

[解决办法]
%d不输出0,你想输出啥子嘛?
[解决办法]
探讨

枚举变量不是只能取枚举说明结构中的某个标识符常量吗,
那么我这样赋值应该是错误的(0不在里面),
可是网上说的0是枚举里的第一个变量,1是第二个变量的,
书上枚举没怎么讲。。。

[解决办法]
探讨

enum number { ONE = 1, TWO} a;


后面跟个a, 没见过这用法

什么意思


引用:
C/C++ code

#include <stdio.h>
int main (void)
{
enum number { ONE = 1, TWO} a;

a = (enum number) 0; /*……

[解决办法]
你的意思是a 现在是一个变量,这个变量类型是number


我现在有了这个变量能做什么呢??




探讨

引用:

enum number { ONE = 1, TWO} a;


后面跟个a, 没见过这用法

什么意思


引用:
C/C++ code

#include <stdio.h>
int main (void)
{
enum number { ONE = 1, TWO} a;

a =……

[解决办法]
怎么可能是一样的呢
enum number{ONE = 1, TWO}
占用的内存与整型变量是一样的,四个字节
将一个变量拷贝到了一个四字节的内存而已

[解决办法]
探讨

只想知道 a = (enum weekday) 2;
a是等于tue,还是a就等于2。
糊涂死了网上找的都说等于tue可是自己输出却是2.

[解决办法]
探讨

enum number { ONE = 1, TWO} a;你这样定义,说明了这个枚举的首个变量的值是1,不存在0
a = (enum number) 0;你这样定义,只是定义了一个枚举类型的a使他的值等于0,并不是说,让a指向了枚举的第一个变量

读书人网 >C语言

热点推荐