У меня есть функция для поиска элемента в массиве (бинарный поиск).Я получаю сообщение об ошибке, в котором говорится о пропущенном операторе возврата.(Комментируемая часть)
Как компилятор понимает, что оператор return отсутствует?
Как компилятор находит всепути выполнения, когда используются только if.Больше нет - если реализуется
public static int rank(int key, int []a, int lo, int hi)
{
if(lo>hi) return -1;
int mid= lo+(hi-lo)/2;
if(key<a[mid]) return rank(key,a,lo,mid-1);
if(key>a[mid]) return rank(key,a,mid+1,hi);
//else return mid;
}