枚举类型问题
下面的程序有问题,为什么呢?
能不能详细的介绍下枚举的用法?
#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