关于枚举枚举的基础概念我这里不再介绍,感兴趣的同学可以查阅另一篇博文C/C++中枚举类型enum使用。这里我主要提一下在调试一个大型程序中遇到日志打印中一个关于枚举输出的小错误。
我们知道枚举分为枚举子和枚举值,就相当于键与值的对应关系。例如下面的枚举变量:
enum Example {FIRST,SECOND,THIRD};
那如何输出枚举值和枚举子呢?
1 输出枚举值
我们先看一个简单的,输出枚举值,其实非常简单以整数形式输出即可,如下:
printf("%d\n", FIRST);
2 输出枚举子
这里有个很大的误区,很多人会根据上面的输出联想到下面的方法:
printf("%s\n", (Example)1);
这种方式是一个大大的错误,根本没有此方法输出枚举子,正确形式需要转换一下关系,最终还是需要依靠条件判断来输出,程序如下:
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)