一、枚举的介绍
/*
枚举:限制的待选项。
语法:
enum  枚举名{
      选项1,
      选项2,
      选项3,
........
      选项n
};
注意:枚举中,选项之间用 ,  隔开,最后一个不用加 , ;并且枚举已 ; 结尾。
声明枚举变量:
        enum  枚举名 变量名 ;
例如:enum qHand qh;
赋值:
         1、先声明,后赋值
                 enum  枚举名 变量名 ;
                  变量名 = 枚举项;
          例如:
                   enum qHand qh; //qh是变量名,enum qHand 是类型
                   qh = 石头;
          2、声明的时候初始化
                enum  枚举名 变量名 = 枚举项;
          例如:
                   enum qHand qh = 石头; //qh是变量名,enum qHand 是类型
                   
*/
//例如:
enum qHand{
      剪刀,     //0,
      石头,     //1,
      布          //2
}
//枚举中可以写中文
 
二、枚举的本质
/*
 枚举的作用详细说明:
     1、枚举项:就是一个整数,默认情况下,从0开始,依次递增。
           注意:声明一个枚举类型的变量,就相当于声明一个int类型的变量
           例:enum quanHead q1;  相当于  int q1;
     2、枚举项可以指定起始的值,比如说,指定10以后,后面的就是11,12,13…………
             enum direction{
                 up = 10,  //10
                 down, //11
                 left, //12
                 right //13
             };
        注意:指定起始值的“ = 数据” 写在,前面
        
        3、枚举项的值可以随意指定,只不过它后面的值如果没有指定的话,会在它的值的基础上依次递增
            例:
             enum direction{
                 up = 10,  //10
                 down,     //11
                 left=30,  //30
                 right //31
             };
         4、枚举项的值不能指定为小数,否则报错
 
         5、枚举项的值可以重复
            例:
                 enum direction{
                     up = 10,  //10
                     down,     //11
                     left=11,  //11
                     right //12
                 };
 
         6、枚举项不能重复
            例:
                 enum direction{
                     up = 10,  //10
                     down,     //11
                     left=11,  //11
                     left,   //报错
                     right //12
                 };
         7、枚举的作用:方便程序员看懂源代码
 
         8.不能直接输出枚举项
 
         9.枚举变量可以赋任意的整数值,因为枚举变量就是int变量
*/
//例如:
  enum qh{
          石头,
          剪刀,   
          布
  }
int main(int argc,const char * argv[]){
      //printf("%s \b",石头);//会报错,提示int类型不能转为char *(字符串) 类型。
      printf("%d \b",石头);     //输出 0
      printf("%d \b",剪刀);     //输出 1
      printf("%d \b",布);         //输出 2
      return 0;
}