黑马程序员技术交流社区

标题: 枚举类型可以循环遍历吗? [打印本页]

作者: 石油小硕    时间: 2015-11-26 00:06
标题: 枚举类型可以循环遍历吗?
  1. #include <stdio.h>
  2. int main(){
  3.     enum week{
  4.         SUN,
  5.         MON,
  6.         TUS,
  7.         WED,
  8.         THER,
  9.         FRI,
  10.         SAT,
  11.     } weekDay;
  12.     for (weekDay=SUN; weekDay<=SAT; weekDay++) {
  13.         printf("%d\n",weekDay);
  14.     }
  15.     return 0;
  16. }
复制代码
试了一下,这样也可以打印出0~6的int数值,为什么老师说不可以遍历呢?

作者: 乔庆芳    时间: 2015-11-26 17:46
输出结果确实可以,但这并不是枚举的使用初衷。
如果只是简单的循环,使用int就足够了,这样会增加维护成本,使代码冗杂难以理解
作者: 石油小硕    时间: 2015-11-26 22:28
乔庆芳 发表于 2015-11-26 17:46
输出结果确实可以,但这并不是枚举的使用初衷。
如果只是简单的循环,使用int就足够了,这样会增加维护成本 ...

谢谢了.......
作者: IPswhatb“is”    时间: 2015-11-26 23:23
这解释可以的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2