为了账号安全,请及时绑定邮箱和手机立即绑定

如果非要打印出枚举常量,请问该怎么做才能实现?

如果非要打印出枚举常量,请问该怎么做才能实现?

C C++
手掌心 2022-05-10 11:15:33
比如 enum colour{a,b,c,d,e} colour1; colour1=a; 如果打印a或者colour1,出现的都是内在值也就是0 怎样才能打印出这些枚举常量(a.b,c,d,)呢? 我看见有人说c不能直接打印枚举常量,只能打印内在值,对吗? 如果非要打印出枚举常量,该怎么做?
查看完整描述

1 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

c++/c
确实不支持这种情况的打印,因为你枚举实际就是起个名字而已,你说int
a=10;你说怎么能打印出‘a'这个字符出来,而不是a的值10呢,枚举也是这个原因。但是如果你想实现这个功能当然是可以的,你可以自己映射呀,比如
你建一个字符串对应上你的枚举的变量。
char
p[]={'a','b','c','d','e'};
然后你如果想输出枚举的名字那么就输出
p[colour1]就可以了。
东西都是自己想的。
c#倒是有这个功能,但是他内部实现,无非也是向我这样编译器帮你做了一个转换而已,所以自己动手,丰衣足食!



查看完整回答
反对 回复 2022-05-16
  • 1 回答
  • 0 关注
  • 169 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信