在C中有重复的枚举值是否合法?

时间:2011-04-06 03:30:54

标签: c enums

enum protocol {
    ascii_prot = 3, /* arbitrary value. */
    binary_prot,
    negotiating_prot = 4 /* Discovering the protocol */
};

binary_protnegotiating_prot都等于4

2 个答案:

答案 0 :(得分:38)

是。

答案 1 :(得分:6)

是; C并不特别关于枚举值。为什么你可能这样做是另一个问题,除非有一些理由将发现数据包视为与数据包相同。 (当其他人设计协议时,你可能会尽可能地密切关注他们的文档。)