C++ enum 关键字

浏览 C语言枚举类型(C语言enum用法)详解 (biancheng.net) 后的实践

enum的用法类似#deine。(可以说就是#define的重写了)

例子①、②、③、④结果相同

①:用#deine等常规代码 实现②、③、④enum的效果

#include<stdio.h>
#include<Windows.h>
#define Monday        0
#define Tuesday        1
#define Wednesday    2
#define Thursday    3
#define Friday         4
#define Saturday     5
#define Sunday        6
int main()//输入1-7,控制台输出 星期几
{
    int t;
    scanf_s("%d", &t);
    t = t - 1;
    switch (t)
    {
    case Monday:printf_s("Monday\n"); break;
    case Tuesday:printf_s("Tuesday\n"); break;
    case Wednesday:printf_s("Wednesday\n"); break;
    case Thursday:printf_s("Thursday\n"); break;
    case Friday:printf_s("Friday\n"); break;
    case Saturday:printf_s("Saturday\n"); break;
    case Sunday:printf_s("Sunday\n"); break;
    default:break;
    }
    system("pause");
    return 0;
}

②:用enum的实现 enum Week{ Monday ,...};

#include<stdio.h>
#include<Windows.h>
enum Week{ Monday ,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday};
int main()
{
    int t;
    scanf_s("%d", &t);
    t = t - 1;
    switch (t)
    {
    case Monday:printf_s("Monday\n"); break;
    case Tuesday:printf_s("Tuesday\n"); break;
    case Wednesday:printf_s("Wednesday\n"); break;
    case Thursday:printf_s("Thursday\n"); break;
    case Friday:printf_s("Friday\n"); break;
    case Saturday:printf_s("Saturday\n"); break;
    case Sunday:printf_s("Sunday\n"); break;
    default:break;
    }
    system("pause");
    return 0;
}

③enum 定义的类型 定义的 变量 是 DWORD类型 (unsigned int) 并且可以直接当做DWORD使用

#include<stdio.h>
#include<Windows.h>
enum Week{ Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday}t;//enum Week{}t,a;
//enum Week{ Monday ,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday}t=0;初始化t变量
int main()
{
    scanf_s("%d", &t);
    t = (Week)(t - 1);
    switch (t)
    {
    case Monday:printf_s("Monday\n"); break;
    case Tuesday:printf_s("Tuesday\n"); break;
    case Wednesday:printf_s("Wednesday\n"); break;
    case Thursday:printf_s("Thursday\n"); break;
    case Friday:printf_s("Friday\n"); break;
    case Saturday:printf_s("Saturday\n"); break;
    case Sunday:printf_s("Sunday\n"); break;
    default:break;
    }
    system("pause");
    return 0;
}

④对预定义的值可以修改,从左往右一次+1;如Wednesday=10,那么默认Thursday=11;

#include<stdio.h>
#include<Windows.h>
enum Week{ Monday =1,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday}t;
int main()
{
    scanf_s("%d", &t);
    switch (t)
    {
    case Monday:printf_s("Monday\n"); break;
    case Tuesday:printf_s("Tuesday\n"); break;
    case Wednesday:printf_s("Wednesday\n"); break;
    case Thursday:printf_s("Thursday\n"); break;
    case Friday:printf_s("Friday\n"); break;
    case Saturday:printf_s("Saturday\n"); break;
    case Sunday:printf_s("Sunday\n"); break;
    default:break;
    }
    system("pause");
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值