| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 342 人关注过本帖
标题:枚举的问题
只看楼主 加入收藏
一个孩子
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:356
专家分:954
注 册:2012-10-1
结帖率:96.77%
收藏
已结贴  问题点数:20 回复次数:3 
枚举的问题
程序代码:
#include<stdio.h>
void main()
{
    enum color {red,yellow,blue,white,black};
    enum color i,j,k,pri;
    int n,loop;
    n=0;
    for(i=red;i<=black;i++)
    {
        for(j=red;j<=black;j++)
        {
            if(i!=j)
            {
                for(k=red;k<=black;k++)
                {
                    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;
                            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("\ntotal:%5d\n",n);
}
这是谭浩强书上的关于枚举的一道题目,我遇到的情况跟网上的同学遇到的情况是一样的,编译结果如下:

图片附件: 游客没有浏览图片的权限,请 登录注册


不知道是不是编译器的原因,我用的是vc6.0,也可能是其他的错误,希望大家能给以详细的解释,在此谢过先
搜索更多相关主题的帖子: white yellow color black 
2012-10-21 15:59
obstratiker
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:198
专家分:758
注 册:2011-5-5
收藏
得分:10 
貌似枚举类型不支持++,你把相应的语句改成i=(enum color)(i+1)吧,这样我在vc6.0上是可以的
2012-10-21 17:41
一个孩子
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:356
专家分:954
注 册:2012-10-1
收藏
得分:0 
运行以后什么都没有啊,,,,,,,

重要的不是结果,是求一个结果的过程,哪怕千难万难,当你有想要的结果时,你已走的很远
2012-10-22 17:54
hgand
Rank: 2
等 级:论坛游民
帖 子:32
专家分:77
注 册:2012-10-17
收藏
得分:10 
上面的程序并没有错,我用我的tensalica 编译器编译并没有出错啊! 2楼说的是错的,枚举变量是可以支持++的!
2012-10-22 18:20
快速回复:枚举的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035408 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved