enum枚举总结

                                     枚举详解

1.       什么是枚举enum

如果一个变量只有几个可能的值,则可以定义为枚举类型。所谓枚举就是将变量的值一一列出来,变量的值只限于列出来的范围内。

枚举同共用体类似,里面包含若干个元素,这些元素是在编译中是按常量来处理的,故称为枚举常量。它们不是变量,是常量,因此不能对枚举里面的元素赋值,这是枚举同共用体,以及结构体最大的区别,其次,枚举里面的元素默认值是0,1,2,3等整形常数。

2.       如何使用枚举enum

(1)枚举的声明

Enum color{red,black,blue};//这里枚举里面共有三个元素,他们的值分别是0,1,2

Enum color col

Col=red;

         根据定义,我们是不能对枚举里的元素进行赋值的,这是最重要的一点,切记。

而枚举变量赋值只能是枚举元素中的一种

(2) 输出

Printf(“%d”,red);

注意不能使用printf(“%d”,col);

3.       枚举的作用

枚举其实和一个一维的整型数组并没有什么区别。但是枚举元素可以定义令人一目了然的标示符,而且变量值限制在定义时规定的几个枚举元素范围内,如果赋予它其他值就会报错,便于检查

4.实例应用

         有五个颜色的球,从中选出三种不同颜色的球,有多少种选法:

         // Enum_study.cpp : Defines the entry point for the console application.

//

 

#include "stdafx.h"

#include<iostream>

using namespace std;

 

 

int _tmain(int argc, _TCHAR* argv[])

{

     enum color{red,yellow,blue,white,black};

     enum color i,j,k,pri;

     int n=0;

     printf("%d",red);

     for(i=red;i<=black;i++)

     {

         for(j=red;j<=black;j++)

              if(i!=j)

              for(k=red;k<=black;k++)

              {

                   if(j!=k&&k!=i)

                   {

                       n++;

                        for(int loop=1;loop<3;loop++)

                       {

                       switch(loop)

                       {

                       case 1: pri=i;break;

                       case 2:pri=j;break;

                       case 3:pri=k;break;

                       }

                       switch(pri)

                       {

                       case red: printf("%10s","red");break;

                       case yellow: printf("%10s","yellow");break;

                       case blue: printf("%10s","blue");break;

                       case white: printf("%10s","white");break;

                       case black: printf("%10s","black");break;

                       }

                       }

                       printf("\n");

                   }

              }

     }

     printf("总计有%d中方法!",n);

     system("pause");

     return 0;

}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值