标题:关于枚举的问题
只看楼主
酷爱陈阳
Rank: 2
等 级:论坛游民
帖 子:14
专家分:33
注 册:2014-11-1
结帖率:0
已结贴  问题点数:20 回复次数:10 
关于枚举的问题
程序代码:
#include <stdio.h>
void main()
{
    enum color {red,yellow,blue,white,black};
    enum color i,j,k,y;
    int n=0,x;
    for(i=red;i<=black;i++)
    {
        for(j=red;j<=black;j++)
        {
            for(k=red;k<=black;k++)
            {
                if(i!=j&&i!=k&&j!=k)
                {
                    n++;
                    printf("%d:\t",n);
                    for(x=1;x<=3;x++)
                    {
                        switch(x)
                        {
                        case 1:y=i;break;
                        case 2:y=j;break;
                        case 3:y=k;break;
                        }
                    
                        switch(y)
                        {
                        case red:printf("%5s","red");break;
                        case yellow:printf("%5s","yellow");break;
                        case blue:printf("%5s","blue");break;
                        case white:printf("%5s","white");break;
                        case black:printf("%5s","black");break;
                        }
                    }
                }
                putchar('\n');
            }
        }
    }
    printf("total:%d\n",n);
}

怎么会这样!
搜索更多相关主题的帖子: yellow black white color 
2014-11-23 21:07
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
得分:7 
把文件后缀.cpp改成.c

[url=http://dragcave.net/view/aDU1]/image/aDU1.gif" border="0" />[/url]
2014-11-24 13:44
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:7 
枚举型变量不能进行自增自减自乘自除等运算

DO IT YOURSELF !
2014-11-24 13:49
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:7 
以下是引用wp231957在2014-11-24 13:49:39的发言:

枚举型变量不能进行自增自减自乘自除等运算

GCC能编译通过
2014-11-24 14:08
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
得分:0 
以下是引用wp231957在2014-11-24 13:49:39的发言:

枚举型变量不能进行自增自减自乘自除等运算
友情提示一下:
C允许对枚举变量使用++运算符
而这里是C语言论坛^_^

[url=http://dragcave.net/view/aDU1]/image/aDU1.gif" border="0" />[/url]
2014-11-24 14:23
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
得分:0 
楼主的问题就是学习的是C的语法特性,文件后缀名确弄成了C++的。。。编译器自然按照C++的来编译喽。。。

[url=http://dragcave.net/view/aDU1]/image/aDU1.gif" border="0" />[/url]
2014-11-24 14:26
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:0 
以下是引用succubus在2014-11-24 14:23:57的发言:

友情提示一下:
C允许对枚举变量使用++运算符
而这里是C语言论坛^_^

微软的编译器支持枚举变量进行自增运算么 前几天讨论过这个 他们说不支持
2014-11-24 14:37
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
以下是引用succubus在2014-11-24 14:23:57的发言:

友情提示一下:
C允许对枚举变量使用++运算符
而这里是C语言论坛^_^



刚才测试了一下    确实楼主的代码修改成点c之后 可以编译通过并运行(vs2010下通过)

[ 本帖最后由 wp231957 于 2014-11-24 14:42 编辑 ]

DO IT YOURSELF !
2014-11-24 14:40
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
得分:0 
以下是引用zklhp在2014-11-24 14:37:49的发言:


微软的编译器支持枚举变量进行自增运算么 前几天讨论过这个 他们说不支持

可以的
说不行的是不是都忘记文件后缀名的问题了或者用得VS版本太老了,对标准的支持不太行。。。

[url=http://dragcave.net/view/aDU1]/image/aDU1.gif" border="0" />[/url]
2014-11-24 14:44
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
得分:0 
ps:我目前用得是vs2010

[url=http://dragcave.net/view/aDU1]/image/aDU1.gif" border="0" />[/url]
2014-11-24 14:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-439067-1-1.html




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

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