оператор возврата в рекурсивной функции - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь написать рекурсивную функцию для линейного поиска в массиве, которая также возвращает первый индекс, по которому был найден элемент.

int linearSearch(int *A, int size, int val)
{
    if(size>0)
    {
        if(*A==val)
        {
            cout<<val<<" is found in the array!";
            return i;
        }
        else
        {
            linearSearch(A+1,size-1,val);
            i++;
        }
    }
    else
    {
        cout<<val<<" is not there in the array!";
        return -1;
    }
}

Однако, когда я пытаюсь поймать возвращаемое значение в основной функции значение размера возвращается вместо -1 в случае, когда элемент отсутствует в массиве. Я не могу понять, почему это происходит.

...