为什么我这个通不过呢?

#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;
}