#include<stdio.h>
int main()
{
enum Color {red,yellow,blue,white,black};
enum Color i,j,k,pri;
int n=0,loop;
for(i=red;i<=black;i++) 为什么这里会报错???no operator++(int) declared for postfix ++ 我是完全按照课本打的
for(j=red;j<=black;j++)
if(j!=i)
{
for(k=red;k<=black;k++)
if((k!=i)&&(k!=j))
{
n++;
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;
}
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("共有%d种可能的取法",n);
return 0;
}
#include <stdio.h>
int main()
{
enum Color { red, yellow, blue, white, black };
int i, j, k, pri;
int n = 0, loop;
for (i = red; i <= black; i++)
{
for (j = red; j <= black; j++)
{
if (j != i)
{
for (k = red; k <= black; k++)
{
if ((k != i) && (k != j))
{
n++;
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;
}
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("共有%d种可能的取法\n", n);
return 0;
}
i不是整型,是枚举类型啊,枚举类型不支持++操作符啊
第一行输入一个正整数T(0<T<=100),表示测试数据的组数
每组测试数据只有一行,输入一串字符(字符长度为11);
枚举类型不能用++操作
你把他看成一个宏定义就行了
enum Color {red,yellow,blue,white,black};
//相当于
#define red 0
#define yello 1
#define blue 2
#define white 3
#define black 4