#include<stdio.h>
enum fruits{watermelon,peach,strawberry,banana,pineapple,apple};
int main()
{
int x;
enum fruits y;
char a[][20]={"watermelon","peach"."strawberry","banana","pineapple","apple"};
printf("请输入一个数x(0~5)");
scanf("%d",&x);
y=(enum fruits)x;
printf("%s\n",a[y]);
return 0;
}
你的y值已经是输入数字所对应的字符串了(也不能说是字符串类型,可以理解为枚举类型的字符串,用%s输出会报错),那还怎么用字符串去当二维字符数组的下标呢?
比如,你输入了1,那么y="peach",a["peach"]??能不报错吗,,,
而且你的二维字符组a中“peach"后面接的是英语句号,应该是逗号
#include<stdio.h>
enum fruits{watermelon, peach, strawberry, banana, pineapple, apple};
int main()
{
int x;
enum fruits y;
char a[][20]={"watermelon","peach","strawberry","banana","pineapple","apple"};
printf("请输入一个数x(0~5)");
scanf("%d",&x);
y=(enum fruits)x;
switch(y){
case watermelon:
printf("watermelon"); break;
case peach:
printf("peach"); break;
case strawberry:
printf("strawberry"); break;
case banana:
printf("banana"); break;
case pineapple:
printf("pineapple"); break;
case apple:
printf("apple"); break;
}
return 0;
}