请问如下枚举类型的使用为什么不正确?在C-FREE中
#include <stdio.h>#include <stdlib.h>
int main()
{
enum color {red,yellow,blue,white,black} brush;
for(brush=red;brush<=black;brush++)//老是提示这个地方错了,难到不可以这样用吗?
switch(brush){
case red:printf("red\t");break;
case yellow:printf("yellow\t");break;
case blue:printf("blue\t");break;
case white:printf("white\t");break;
case black:printf("black\t");break;
}
}谢谢了
----------------解决方案--------------------------------------------------------
不会吧?
我用gcc怎么没有提示错误呢???而且结果也正确阿?
程序代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
enum color
{
red,
yellow,
blue,
white,
black
} brush;
for(brush=red; brush<=black; brush++)
{
switch(brush)
{
case red:
printf("red\t");
break;
case yellow:
printf("yellow\t");
break;
case blue:
printf("blue\t");
break;
case white:
printf("white\t");
break;
case black:
printf("black\t");
break;
default:
break;
}//end switch
}//end for
}
[[it] 本帖最后由 mqh21364 于 2008-6-3 10:00 编辑 [/it]]
----------------解决方案--------------------------------------------------------
我试验了,枚举类型用++时不好使
----------------解决方案--------------------------------------------------------
在TC中就好使,在C-FREE中就不好使,这是怎么回事,难到C-FREE的编译器不认吗?
----------------解决方案--------------------------------------------------------
枚举类型实际上就是常数集,楼主清楚这点不??
[color=white]
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main()
{
enum color {red,yellow,blue,white,black};
for(int i=red;i<=black;i++)
switch(i){
case red:printf("red\t");break;
case yellow:printf("yellow\t");break;
case blue:printf("blue\t");break;
case white:printf("white\t");break;
case black:printf("black\t");break;
}
return 0;
}
----------------解决方案--------------------------------------------------------
谢谢楼上的各位朋友:)
----------------解决方案--------------------------------------------------------