为什么输入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;
}
}
}