首页 > 解决方案 > 在枚举中使用实例化

问题描述

我正在研究枚举,我遇到了代码中枚举变量的实例化。但是枚举在没有实例化的情况下工作得很好,如下代码所示:

#include<stdio.h> 
enum year{Jan, Feb, Mar, Apr, May, Jun, Jul,Aug, Sep, Oct, Nov, Dec}; 
int main() 
{ 
   int i; 
   for (i=Jan; i<=Dec; i++)       
      printf("%d ", i); 

   return 0; 
} 

输出是:

0 1 2 3 4 5 6 7 8 9 10 11

那么在枚举类型中声明一个变量和那个有什么用。如果我愿意,我可以在 int 或 float 中声明它,效果很好。这可能是一个幼稚的问题,但我无法获得此功能的实际应用。

#include<stdio.h> 
enum week{Mon, Tue, Wed, Thur, Fri, Sat, Sun}; 
int main() 
{ 
    enum week day; 
    day = Wed; 
    printf("%d",day); 
    return 0; 
}

标签: c

解决方案


Jan显然是(?)一个月,0根本不清楚。

然后,假设您选择了有意义的名称,它也可以用作类型注释。year很清楚(或者如果选择了一个好名字,它会很清楚),int不是。在您的示例中,您应该为枚举使用不同的名称。喜欢monthweek_day

最后,在您的示例中,它们并不意味着表示整数值(除非您需要用于计算,例如月份之间的差异)。因此,简单地将它们打印为数字并没有多大意义。


推荐阅读