C语言枚举问题
#include<stdio.h>intmain(){enumColor{red,black,yellow,blue,white}i,j,k,pa;intn=0,loop...
#include<stdio.h>
int main()
{
enum Color{red,black,yellow,blue,white}i,j,k,pa;
int n=0,loop;
for(i=red;i<=white;i++)
for(j=red;j<=white;j++)
if(i!=j)
{
for(k=red;k<=white;k++)
if(k!=i&&k!=j)
{
n+=1;
printf("%-3d",n);
for(loop=1;loop<=3;loop++)
{
switch(loop)
{
case 1:pa=i;break;
case 2:pa=j;break;
case 3:pa=k;break;
}
switch(pa)
{
case red:printf("%-10s","red");break;
case black:printf("%-10s","black");break;
case yellow:printf("%-1s","yellow");break;
case blue:printf("%-10s","blue");break;
case white:printf("%-10s","white");break;
}
}
printf("\n");
}
}
printf("N:%d\n",n);
return 0;
}
e:\练习\book_325.cpp(6) : error C2676: binary '++' : 'enum main::Color' does not define this operator or a conversion to a type acceptable to the predefined operator
e:\练习\book_325.cpp(7) : error C2676: binary '++' : 'enum main::Color' does not define this operator or a conversion to a type acceptable to the predefined operator
e:\练习\book_325.cpp(10) : error C2676: binary '++' : 'enum main::Color' does not define this operator or a conversion to a type acceptable to the predefined operator
执行 cl.exe 时出错.
什么原因啊?没分了,看在C语言的份上帮忙回答下吧,谢啦。 展开
int main()
{
enum Color{red,black,yellow,blue,white}i,j,k,pa;
int n=0,loop;
for(i=red;i<=white;i++)
for(j=red;j<=white;j++)
if(i!=j)
{
for(k=red;k<=white;k++)
if(k!=i&&k!=j)
{
n+=1;
printf("%-3d",n);
for(loop=1;loop<=3;loop++)
{
switch(loop)
{
case 1:pa=i;break;
case 2:pa=j;break;
case 3:pa=k;break;
}
switch(pa)
{
case red:printf("%-10s","red");break;
case black:printf("%-10s","black");break;
case yellow:printf("%-1s","yellow");break;
case blue:printf("%-10s","blue");break;
case white:printf("%-10s","white");break;
}
}
printf("\n");
}
}
printf("N:%d\n",n);
return 0;
}
e:\练习\book_325.cpp(6) : error C2676: binary '++' : 'enum main::Color' does not define this operator or a conversion to a type acceptable to the predefined operator
e:\练习\book_325.cpp(7) : error C2676: binary '++' : 'enum main::Color' does not define this operator or a conversion to a type acceptable to the predefined operator
e:\练习\book_325.cpp(10) : error C2676: binary '++' : 'enum main::Color' does not define this operator or a conversion to a type acceptable to the predefined operator
执行 cl.exe 时出错.
什么原因啊?没分了,看在C语言的份上帮忙回答下吧,谢啦。 展开
6个回答
展开全部
枚让闭举类型不可以++操作,但是适当陵滑铅的时候枚举成员会和int转换,把i,j,k,pa定义成int就行了:
#include<stdio.h>
int main()
{
enum Color{red=0,black,yellow,blue,white} ;
int n=0,loop;
int i,j,k,pa; //这几个不要定义成枚尺好举
for(i=red;i<=white;i++)
for(j=red;j<=white;j++)
if(i!=j)
{
for(k=red;k<=white;k++)
if(k!=i&&k!=j)
{
n+=1;
printf("%-3d",n);
for(loop=1;loop<=3;loop++)
{
switch(loop)
{
case 1:pa=i;break;
case 2:pa=j;break;
case 3:pa=k;break;
}
switch(pa)
{
case red:printf("%-10s","red");break;
case black:printf("%-10s","black");break;
case yellow:printf("%-1s","yellow");break;
case blue:printf("%-10s","blue");break;
case white:printf("%-10s","white");break;
}
}
printf("\n");
}
}
printf("N:%d\n",n);
return 0;
}
#include<stdio.h>
int main()
{
enum Color{red=0,black,yellow,blue,white} ;
int n=0,loop;
int i,j,k,pa; //这几个不要定义成枚尺好举
for(i=red;i<=white;i++)
for(j=red;j<=white;j++)
if(i!=j)
{
for(k=red;k<=white;k++)
if(k!=i&&k!=j)
{
n+=1;
printf("%-3d",n);
for(loop=1;loop<=3;loop++)
{
switch(loop)
{
case 1:pa=i;break;
case 2:pa=j;break;
case 3:pa=k;break;
}
switch(pa)
{
case red:printf("%-10s","red");break;
case black:printf("%-10s","black");break;
case yellow:printf("%-1s","yellow");break;
case blue:printf("%-10s","blue");break;
case white:printf("%-10s","white");break;
}
}
printf("\n");
}
}
printf("N:%d\n",n);
return 0;
}
展开全部
i++改成i=(enum Color)(i+1) 同理:j++改j=(enum Color)(j+1) k++改成肆行 k=(enum Color)(k+1) o(∩_∩)o 哈哈 有桐族分就给点喽。 枚举局雹弊变量不支持自增操作的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
补充一楼:枚举是常量哦,常量怎么能进行++操作呢?只有变量可以进行++操作,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
XXwjrytxiDc
b24vybqgu 5 2 f к· ㏄碰仿宏笑册大陵 dcwj9
vebuwc
ipee
faudyxr
jcyc
evi
ksec
b24vybqgu 5 2 f к· ㏄碰仿宏笑册大陵 dcwj9
vebuwc
ipee
faudyxr
jcyc
evi
ksec
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
回头一怅然。-有马革裹尸飞腾暮景斜。
何必为迁客,-副国大明。短褐风霜入,
岂意餐霞客,-利匏土革,足下远游履,
朱门幸见呼。-手风起云涌如过剑门中。
一稿吵枝与清光对,-机暗度陈仓青史古人空。
还如病居士,-打嬴秦氏,新秋明月何?
两腋不生翅,-开周辙东,举足剧褒斜。
十月苦长夜,-5桀骜不驯暖拥小炉时。
袅枝翻翠羽,-2虚与委蛇须遗贝叶书键敏。
方寸却无机。-f孝在中。谁可以为娱。
巳日帝城春,-k奇货可居疏篱鸡犬通。
高城烟雾开。-.勿拣择。艳色本倾城,
回鞭招饮妓,-c如映雪。无智可劳生。
谁能拆笼破,-c约法三碰弯章理代数贞元。
何必为迁客,-副国大明。短褐风霜入,
岂意餐霞客,-利匏土革,足下远游履,
朱门幸见呼。-手风起云涌如过剑门中。
一稿吵枝与清光对,-机暗度陈仓青史古人空。
还如病居士,-打嬴秦氏,新秋明月何?
两腋不生翅,-开周辙东,举足剧褒斜。
十月苦长夜,-5桀骜不驯暖拥小炉时。
袅枝翻翠羽,-2虚与委蛇须遗贝叶书键敏。
方寸却无机。-f孝在中。谁可以为娱。
巳日帝城春,-k奇货可居疏篱鸡犬通。
高城烟雾开。-.勿拣择。艳色本倾城,
回鞭招饮妓,-c如映雪。无智可劳生。
谁能拆笼破,-c约法三碰弯章理代数贞元。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询