当前位置: 代码迷 >> C语言 >> 请问如下枚举类型的使用为什么不正确?在C-FREE中
  详细解决方案

请问如下枚举类型的使用为什么不正确?在C-FREE中

热度:317   发布时间:2008-06-03 09:07:17.0
请问如下枚举类型的使用为什么不正确?在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;
}
----------------解决方案--------------------------------------------------------
谢谢楼上的各位朋友:)
----------------解决方案--------------------------------------------------------