在C语言中,如果枚举常量中包含有负数,那么系统按照整型来处理,否则按照无符号整型处理。
所以在输出的时候,枚举类型也要区分是否带负数情况,如果带负数,那么用%d输出,否则用%u输出。
不过,对于不带负数的枚举,如果值范围不会超过最大的int型整数2147483647,那么用%d来输出不带负数的枚举常量也是可以的。
MON和TUE值分别为0和1,用
printf("%d", d);
输出。
那就这样:
switch(d){
case 0:
printf("MON"); break;
case 1:
printf("TUE"); break;
}
没有办法的!
day.MON 和day.TUE