zoukankan      html  css  js  c++  java
  • 枚举作为整数 分类: H_HISTORY 20130208 11:22 576人阅读 评论(0) 收藏

    1、枚举作为整数

    在系统内部,C语言会把枚举变量和常量作为整数来处理,默认情况下,编译器会把整数0、1、2、3……赋给特定枚举中的常量。如枚举city中,GZ、FS、SZ、DG分别被赋值0、1、2、3。

    而枚举变量C1被保存为0,C2为3……

    2、枚举值的取值范围

    当定义一个枚举变量时,其值可以为enum中定义的枚举变量,或者任意int类型的值。当然,超出enum取值范围的值没有实际意义。

    #include <stdio.h>
    
    int main(void){
    	
    	enum city{GZ, FS, SZ, GD};
    	enum city c1, c2, c3;
    	c1=GZ;
    	c2=SZ;
    	c3=6;
    	printf("c1=%d\tc2=%d\tc3=%d",c1, c2, c3);
    	return 0;
    }

    输出结果:c1=0    c2=2    c3=6

    而以下程序则编译不通过:

    #include <stdio.h>
    
    int main(void){
    	
    	enum city{GZ, FS, SZ, GD};
    	enum city c1, c2, c3;
    	c1=GZ;
    	c2=SZ;
    	c3=BJ;
    	printf("c1=%d\tc2=%d\tc3=%d",c1, c2, c3);
    	return 0;
    }

    E:\B C\my_codes\CProgrammingAModernApproach>gcc testenum.c
    testenum.c: In function `main':
    testenum.c:9: error: `BJ' undeclared (first use in this function)
    testenum.c:9: error: (Each undeclared identifier is reported only once
    testenum.c:9: error: for each function it appears in.)

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    树形地铁系统[树的最小表示]
    156. 矩阵[二维的hash]
    兔子与兔子
    滑动窗口【单调队列入门题】
    【YBTOJ】生日相同
    【YBTOJ】移位包含
    【YBTOJ】【HDUOJ 3085】逃离噩梦
    【YBTOJ】立体推箱子
    【CodeForces 1408F】Two Different
    【Luogu P3338】[ZJOI2014]力
  • 原文地址:https://www.cnblogs.com/lujinhong2/p/4637432.html
Copyright © 2011-2022 走看看