一股清风 2020-06-28 16:04 采纳率: 20%
浏览 254
已采纳

枚举变量能否作为循环控制变量?

图片说明

我在书上看到有把枚举变量当做循环控制变量的,但我在用的时候总是报错,是在vc++6.0中不支持这样做吗,我从网上找的程序也无法正常运行,报错为:E:\CYUYAN\练习\枚举_1.cpp(27) : error C2676: binary '++' : 'enum main::season' does not define this operator or a conversion to a type acceptable to the predefined operator

#include<stdio.h>

void main()
{ 
    enum season {spring=1,summer,autumn,winter}s;

    for(s=spring; s<=winter; s++)
        printf("%d\n",s);
}
  • 写回答

3条回答 默认 最新

  • 泡视界 2020-06-29 11:07
    关注

    你这个错是枚举型没有++操作,可以修改为s=s+1,试试

    你这样用其实不是很符合枚举存在的意义,因为我们定义枚举的时候,其实想用的是他的变量名,而重点不是想用他的值,因为他的值只是一个index。
    一般枚举的变量名的意思可以非常直观,比如
    enum selfError{
    NO_ERROR,
    INVALED_PARM,
    NULL_PTR,
    }

    这样你在使用的时候就可以非常方便地根据变量名本身含义去做逻辑处理
    定义一个返回类型为selfError的函数
    selfError function1() {
    int err = INVALED_PARM;
    。。。。。。。
    return err;
    }

    然后引用的时候很方便地使用枚举型
    int err = function1();
    if (err ==NO_ERROR ){
    printf("调用成功");
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 根据以下文字信息,做EA模型图
  • ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器
  • ¥15 vscode程序一直报同样的错,如何解决?
  • ¥15 关于使用unity中遇到的问题
  • ¥15 开放世界如何写线性关卡的用例(类似原神)
  • ¥15 关于并联谐振电磁感应加热
  • ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
  • ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
  • ¥60 关机时蓝屏并显示KMODE_EXCEPTION_NOT_HANDLED,怎么修?
  • ¥66 如何制作支付宝扫码跳转到发红包界面