首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

枚举类型有关问题

2012-03-17 
枚举类型问题下面的程序有问题,为什么呢?能不能详细的介绍下枚举的用法?#includestdio.henumBall{red0,

枚举类型问题
下面的程序有问题,为什么呢?
能不能详细的介绍下枚举的用法?


#include   <stdio.h>
enum   Ball{red=0,yellow=1,blue=2,white=3,black=4};

void   Print(Ball   ball)
{
          switch(ball)
          {
          case   red:
                  printf( "   red ");
                  break;
          case   yellow:
                  printf( "   yellow ");
                  break;
          case   blue:
                  printf( "   blue ");
                  break;
          case   white:
                  printf( "   white ");
                  break;
          case   black:
                  printf( "   balck ");
          }
}

int   main(void)
{
         
          enum   Ball   first,second,third;
          int   num=0;
         
          for(first=red;first <=black;first+=1)
          {
                  for(second=red;second <=black;second++)
                  {
                            for(third=red;third <=black;third++)
                            {
                                      if((first!=second)&&(second!=third)&&(first!=third))
                                      {
                                              Print(first);
                                              Print(second);
                                              Print(third);
                                              num++;
                                              printf( "\n ");
                                      }



                            }
                  }
          }
          printf( "total   number   is   :%d\n ",num);

          return   0;
}



[解决办法]
//enum Ball first,second,third;
int first, second, third;

[解决办法]
说实话,枚举我也没彻底弄明白
不过就我理解,是一系列的常数变量,懒得一个个申明,所以一次枚举出来
即: 枚举 == 一堆一堆的常数变量
你的错误在于
enum Ball first,second,third;
~~~~~~~~~~ 应该是 int first, second, third

热点排行