枚举类型 望高手解答。。。
#include <stdio.h>
main()
{
int i,k;
enum year{JAN=1,FEB,MAR,APR,AUG,SEP,OCT,NOV,DEC}month[9],j;
printf("\nPlease Input The Month:");
scanf("%d",&i);
j=JAN;
for(k=1;k<10;k++)
{
month[k]=j++;
}
for(k=1;k<=9;k++)
{
printf("%d\n",month[k]);
}//第一个问题:此处打印出来的是1 2 3 4 5 6 7 8 10 为什么没不是9而是10?
switch(month[i])
{
case JAN:printf("This is JAN Month.");break;
case FEB:printf("This is FEB Month.");break;
case MAR:printf("This is MAR Month.");break;
case APR:printf("This is APR Month.");break;
case AUG:printf("This is AUG Month.");break;
case SEP:printf("This is SEP Month.");break;
case OCT:printf("This is OCT Month.");break;
case NOV:printf("This is NOV Month.");break;
case DEC:printf("This is DEC Month.");break;
default:printf("Input error!");break;
}
}
第二个问题 我如果输入9、10、11或13它都是"input error!" 但是当我输入12的时候 它会出来"This is JAN Month."
这是为什么?
这段代码在VC6.0上以**.Cpp报错 在TC上运行出现上述问题 望高手解答。。。。。