读书人

关于枚举的几个疑问解决方法

发布时间: 2012-04-03 12:38:19 作者: rapoo

关于枚举的几个疑问
疑问一

C/C++ code
enum  num{zero, null = 0, one, numero = 1};//zero和null 都为0,one和numero都为1num size;size = (num)0;//如何确定size的值此时为zero还是null

疑问二
C/C++ code
/*枚举量的取值范围的定义然如下:首先找出上限,找到大于这个最大值的、最小的2的幂,将它减去1,得到的便是取值范围的上限。然后找出下限,如果它不小于0,则取值范围的下限为0;否则,采用与找上限的方式相同的方式,但加上负号。请问让枚举量有这么大的取值范围有什么价值和意义,制定这个规则的目的或者说出发点是什么?*/

疑问三
C/C++ code
/*如何显示枚举量的整型值对应的字符或字符串值?*/



[解决办法]
C/C++ code
#include <stdio.h>int main(){    enum  num{zero, null = 0, one, numero = 1};//zero和null 都为0,one和numero都为1    enum num n;    n = (enum num)5;    printf("%d %d %d %d\n", zero, null, one, numero); //0 1 1 1    //printf("%d %d %d %d\n", n.zero, null, one, numero); //error!     return 0;}
[解决办法]
C/C++ code
int main(){    enum  num{zero, null = 0, one, numero = 1};//zero和null 都为0,one和numero都为1    num size;    size = (num)0;    //如何确定size的值此时为zero还是null    if(size==zero){        cout<<"是zero";    }    if(size==null){        cout<<"是null";    }    // 结果既是zero也是null    return 0;} 

读书人网 >C++

热点推荐