|
|
发表于 2011-12-29 17:42:31
|
显示全部楼层
枚举类型不能++,且和int类型转换的时候需要强制转换,修改后的代码如下:- #include <stdio.h>
- void main()
- {
- enum color{red,yellow,blue,white,black};
- //enum color i,j,k,pri;
- enum color pri;
- int i,j,k;
- int n,loop;
- n=0;
- for(i=red;i<=black;i++)
- for(j=red;k<=black;j++)
- if(i!=j)
- {
- for(k=red;k<=black;k++)
- if((k!=i)&&(k!=j))
- {
- n=n+1;
- printf("%-4d",n);
- for(loop=1;loop<=3;loop++)
- {
- switch(loop)
- {
- /*
- case 1:pri=i;break;
- case 2:pri=j;break;
- case 3:pri=k;break;
- default:break;
- */
- case 1:pri=(enum color)i;break;
- case 2:pri=(enum color)j;break;
- case 3:pri=(enum color)k;break;
- default: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;
- default:break;
- }
- }
- printf("\n");
- }
- }
- printf("\ntotal:%5d\n",n);
- }
复制代码 |
|