关于枚举请求帮忙
#include <stdio.h>
enum body {
a,b,c,d
}month[31], j;
void main() {
int i;
j=a;
for(i=1;i <=30;i++){
month[i]=j;
j = (body)(j + 1);
/*在这里j表示什么意思,j+1又表示什么呢?自加后指向哪里呢?和a,b,c,d的关系是什么?*/
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;
}
}
}
[解决办法]
就是枚举字典里面比当前数值大一的那个数值
enum body {
a,b,c,d
}
默认a=0,b=1,c=2,d=3;
如果j=b;
那么(body)(j+1)就是c
[解决办法]
enum body {
a,b,c,d
}month[31], j;
...
j = (body)(j + 1); //自增
if (j> d) j=a;//循环
-----------------------
j就是枚举变量可以取0123四个值。
[解决办法]
楼上都说了
[解决办法]
:)
[解决办法]
哈哈哈