Я пытаюсь написать рекурсивную функцию для линейного поиска в массиве, которая также возвращает первый индекс, по которому был найден элемент.
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 в случае, когда элемент отсутствует в массиве. Я не могу понять, почему это происходит.