c++如何打印出各个枚举常量(不是期内在值)

比如enumcolour{a,b,c,d,e}colour1;colour1=a;如果打印a或者colour1,出现的都是内在值也就是0怎样才能打印出这些枚举常量(a.b... 比如
enum colour{a,b,c,d,e} colour1;
colour1=a;
如果打印a或者colour1,出现的都是内在值也就是0
怎样才能打印出这些枚举常量(a.b,c,d,)呢?
我看见有人说c不能直接打印枚举常量,只能打印内在值,对吗?
如果非要打印出枚举常量,该怎么做?
展开
 我来答
abcd1236386
推荐于2018-04-21 · TA获得超过774个赞
知道小有建树答主
回答量:539
采纳率:0%
帮助的人:528万
展开全部
c++/c 确实不支持这种情况的打印,因为你枚举实际就是起个名字而已,你说int a=10;你说怎么能打印出‘a'这个字符出来,而不是a的值10呢,枚举也是这个原因。但是如果你想实现这个功能当然是可以的,你可以自己映射呀,比如
你建一个字符串对应上你的枚举的变量。
char p[]={'a','b','c','d','e'};
然后你如果想输出枚举的名字那么就输出 p[colour1]就可以了。
东西都是自己想的。
c#倒是有这个功能,但是他内部实现,无非也是向我这样编译器帮你做了一个转换而已,所以自己动手,丰衣足食!
484117
2012-08-21 · TA获得超过1220个赞
知道小有建树答主
回答量:1553
采纳率:100%
帮助的人:1066万
展开全部
c直接打印枚举常量字符很难 因为它们已经代表了具体的数值
就算是用输出格式符限制那也是它们所代表的数值 比如printf("%c",(char)a);
即便是想打印字符a 但在这里a已然代表数值0 所以打印出来时空白 也就是null
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
侍夜南5j
2012-08-21 · 超过15用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:43.1万
展开全部
enum colour{a = 97,b,c,d,e} colour1;

打印的时候用“%c”
追问
具体说下,不太懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无私又平实丶虎鲸i
2012-08-21 · TA获得超过202个赞
知道答主
回答量:305
采纳率:0%
帮助的人:203万
展开全部
没法打印
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式