读书人

枚举类型有关问题

发布时间: 2012-03-17 19:06:28 作者: rapoo

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


#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

读书人网 >C语言

热点推荐