#include<stdio.h>
/*main()
{
enum weekenday//枚举类型只能是整型;
{
sun,mon,tue,wed,thu,fri,sat
} a,b,c;
a=sun;
b=mon;
c=tue;
printf("sun=%d,mon=%d,tue=%d\n",a,b,c);
}*/
/*只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。如:
a=sum;
b=mon;
是正确的。而:
a=0;
b=1;
是错误的。如一定要把数值赋予枚举变量,则必须用强制类型转换。
如: a=(enum weekday)2;
其意义是将顺序号为 2 的枚举元素赋予枚举变量 a,相当于:
a=tue;
还应该说明的是枚举元素不是字符常量也不是字符串常量,使用时不要加单、双引号。 */
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>d) 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");
}