标题:c简单的枚举分析
只看楼主
hdshdzh
Rank: 2
等 级:论坛游民
帖 子:77
专家分:11
注 册:2010-5-13
结帖率:92.31%
已结贴  问题点数:6 回复次数:2 
c简单的枚举分析
main()
{
enum body
{a,b,c,d} month[31],j;
int i;
j=a;
for(i=1;i<=30;i++)
{
month[i]=j;
j++;
if(j>b) j=a;
}
for(i=1;i<=30;i++)
{
switch(month[i])
{
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");switch(month[i])
{
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:     这个i  a b c d 怎么对照的,不解。谁能帮我分析一下,因为刚学到这,还不是很理解
}这个if(j>b) j=a;怎么比较的,有什么数的吗
搜索更多相关主题的帖子: 枚举 
2010-05-20 14:35
chenaiyuxue
Rank: 5Rank: 5
来 自:山东滨州
等 级:职业侠客
帖 子:334
专家分:370
注 册:2008-5-20
得分:6 
一般情况下,枚举变量的成员都是与数字量相对应的,比如enum body {a, b, c, d};中的a,b,c,d分别对应1,2,3,4,所以可以对它们进行自加操作,j = a++,那么之后j=b了。不过你这个程序好像c,d都没用到,不知道if(j>b) j=a;是不是写错了?是不是应该改成if (j > d) j = a;

你是雪,我是尘埃,相遇是意外;你坠落,在我胸怀,流进我血脉。
2010-05-20 14:49
hdshdzh
Rank: 2
等 级:论坛游民
帖 子:77
专家分:11
注 册:2010-5-13
得分:0 
谢谢明白了,j++   j=a  不断的循环a b c d
2010-05-20 15:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-307469-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013359 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved