谭浩强书上列题11.11,运行不了好像有错,请大家帮我读懂一下!谢谢!
main(){ enum body
{ a,b,c,d } month[31],j; //定义一个枚举型常量body,"month[31]"和"j"不知道是不是没定义数据类型,还是定义了是枚举型?
int i;
j=a; //这个是将body的a赋给j
for(i=1;i<=30;i++){
month[i]=j;
j++; //j++是能将下一个直指像b吗,好像是值a+1,或者是对应的ascii值是b,但如果这样,body{a,c,j,k}没规律的数,这方法那不就行不通了?
if (j>d) j=a; //从month[1]=a,好像程序的意思是将month[1]=a,...month[4]=d,month[5]时又重新赋值为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");