C/C++枚举enum分别打印输出枚举子和枚举值的方法

您所在的位置:网站首页 onenote2022打印输出 C/C++枚举enum分别打印输出枚举子和枚举值的方法

C/C++枚举enum分别打印输出枚举子和枚举值的方法

2024-07-16 14:23| 来源: 网络整理| 查看: 265

  关于枚举枚举的基础概念我这里不再介绍,感兴趣的同学可以查阅另一篇博文C/C++中枚举类型enum使用。这里我主要提一下在调试一个大型程序中遇到日志打印中一个关于枚举输出的小错误。   我们知道枚举分为枚举子和枚举值,就相当于键与值的对应关系。例如下面的枚举变量:

enum Example {FIRST,SECOND,THIRD}; // 三个枚举子对应枚举值默认是0,1,2。

  那如何输出枚举值和枚举子呢?  1 输出枚举值   我们先看一个简单的,输出枚举值,其实非常简单以整数形式输出即可,如下:

printf("%d\n", FIRST); //输出结果为:0

 2 输出枚举子   这里有个很大的误区,很多人会根据上面的输出联想到下面的方法:

printf("%s\n", (Example)1); // 想以字符串形式输出SECOND ×

  这种方式是一个大大的错误,根本没有此方法输出枚举子,正确形式需要转换一下关系,最终还是需要依靠条件判断来输出,程序如下:

int i; scanf("%d", &i); switch (i) { case 0: printf("FIRST\n"); break; case 1: printf("SECOND\n"); break; case 1: printf("THIRD\n"); break; default:printf("NONE\n"); }

  个人学习记录,由于能力和时间有限,如果有错误望读者纠正,谢谢!   转载请注明出处:http://blog.csdn.net/FX677588/article/details/76600033



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3