鱼C论坛

 找回密码
 立即注册
查看: 2386|回复: 2

枚举类型有道例子看不懂,大家帮我看看

[复制链接]
发表于 2011-10-25 21:19:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
main(){
    enum body                        
    { a,b,c,d } month[31],j;        //这句什么意思?看不懂,
    int i;
    j=a;
    for(i=1;i<=30;i++){
      month=j;
      j++;
      if (j>d) j=a;
    }
    for(i=1;i<=30;i++){
      switch(month)
      {
        case a:printf(" %2d  %c\t",i,'a'); break;
        case b:printf(" %2d  %c\t",i,'b'); break;
        case c:printf(" %2d  %c\t",i,'c'); break;
        case d:printf(" %2d  %c\t",i,'d'); break;
        default:break;
      }
    }
    printf("\n");
}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-25 22:06:41 | 显示全部楼层
  1. enum body                        
  2.     { a,b,c,d } month[31],j;
复制代码
声明一个枚举类型j,和一个长度为31的枚举数组month。
  1. j++;
复制代码
枚举的自加运算,只能才c里编译通过,C++是不行的。
  1. month=j;
复制代码
错误
应该为
  1. month[i]=j;
复制代码
  1. switch(month)
复制代码
错误,应该为:
  1. switch(month[i])
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-27 12:04:22 | 显示全部楼层
狂顶LS得,不过还有种该法貌似也可以。。
把month=j改为int month=jl
switch(month)改为switch((int )month)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-30 19:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表