永发信息网

C语言的枚举结构数据类型

答案:2  悬赏:20  手机版
解决时间 2021-05-02 12:58
  • 提问者网友:凉末
  • 2021-05-01 14:27

枚举列子,执行得不到结果,帮忙看看,指出哪里错了,改的地方注释一下哈

#include<stdio.h>
void main()
{
enum color {red,yellow,blue,white,black};
enum color i,j,k,pri;
int loop;
int n=0;
for(i=red;i<=black;i+1)
{
for(j=red;j<=black;j+1)
{
if(i!=j)
{
for(k=red;k<=black;k+1)
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;
}
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","blak");break;
default:break;
}
}
printf("\n");
}
}
}
}
printf("\ntotale : %blackd\n",n);
}

最佳答案
  • 五星知识达人网友:时间的尘埃
  • 2021-05-01 14:34
所有的for循环有问题,for(i=red;i<=black;i+1)有问题,最后应该是i++,而不是i+1.
全部回答
  • 1楼网友:一把行者刀
  • 2021-05-01 16:06
枚举类型的加法是需要强制转换的 语法错误帮你改过来了 逻辑错误 你自己慢慢找吧 #include<stdio.h> void main() { enum color {red,yellow,blue,white,black}; enum color i,j,k,pri; int loop; int n=0; for(i=red;i<=black;i=color(i+1)) { for(j=red;j<=black;j=color(j+1)) { if(i!=j) { for(k=red;k<=black;color(k+1)) 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; } 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","blak");break; default:break; } } printf("\n"); } } } } printf("\ntotale : %blackd\n",n); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯