c语言中switch语句一些细节

为什么输入switch语句的其他值default语句不执行


#include<stdio.h>
int main()
{
    float arr[5]={3.00,2.50,4.10,10.20};
    int flag=0,m;
    printf("[1] apple\n");
    printf("[2] pear\n");
    printf("[3] orange\n");
    printf("[4] grape\n");
    printf("[0] exit\n");
    for(int i=0;i<5;i++)
    {
        scanf("%d",&m);
        switch(m)
        {
            case 1:printf("price = %.2f\n",arr[m-1]);break;
            case 2:printf("price = %.2f\n",arr[m-1]);break;
            case 3:printf("price = %.2f\n",arr[m-1]);break;
            case 4:printf("price = %.2f\n",arr[m-1]);break;
            case 0:flag=1;break;
            defalut :printf("price = 0.00\n");
                
        }
        if(flag==1)
        {
            break;
        }
    }
    
    
    
}

img


单词错了,是default,望采纳

0-4不会执行defalult ,输入大于4的值可以执行,望采纳!