leetcode搜索插入位置C语言编译出错求解

先不论答案正确与否, 总是提示编译出错 请问如何改正谢谢


int searchInsert(int* nums, int numsSize, int target){
    int left=0;
    int right=0;
    int middle=0;
    right=numsSize-1;
    middle=left+(right-left)/2;
    while(left<=right)
    {
        if(nums[middle]<target)
        {
            left=middle+1;
        }else if(nums[middle]>target)
        {
            right=middle-1;
        }else if(nums[middle]==target)
        {
            middle=middle-1;
            return middle;
        }
    }
}

试试这个


int searchInsert(int* nums, int numsSize, int target){
    int left=0;
    int right=0;
    int middle=0;
    right=numsSize-1;
    middle=left+(right-left)/2;
    while(left<=right)
    {
        if(nums[middle]<target)
        {
            left=middle+1;
        }else if(nums[middle]>target)
        {
            right=middle-1;
        }else if(nums[middle]==target)
        {
            middle=middle-1;
            break;
        }
    }
    return middle;
}

编译提示什么错误呢?难道是,不是所有的函数路径都具有返回值?