判断语句的编译问题.

为什么我在dev环境下编写实现二分法查找应用
if
else if
else
语句不能编译并提示最后else语句后要加分号

int mian()
{
    int m;
    printf("请输入一个想要查找到的数字\n");
    scanf("%d",&m); 
    int shuzu[]={1,2,3,4,5,6,7,8,9,10};
    int size=sizeof(shuzu)/sizeof(shuzu[0]);
    //printf("%d",size);
    int left=0;
    int right=size-1;
    while(left<=right)
    {
        int mid=(left-right)/2;
    if (shuzu[mid]<m)
    {
        right=mid-1;
    }
    else if (shuzu[mid]>m)
    {
        
        left=mid+1;
    }
    else (shuzu[mid]==m)
        {
            printf("查找到了是%d\n",m);
            break;
        }
    }
    
    
    return 0;
} 

最后的else改为else if

这样的写法不合语法,要写成else if(……){}