I'm trying to implement a binary search where n is the size of my array and it's not working with recursion, only when I don't use recursion does it work, and I don't seem to understand why
int mid = 0;
int low = 0;
bool search(int value, int values[], int n)
{
do
{
mid = (low + n)/2;
if(values[mid] == value)
{
return true;
}
else if (values[mid]>value)
{
n= mid -1;
return search(value, values, n);
}
else if (values[mid]<value)
{
low = mid + 1;
return search(value, values, low);
}
}
while (n > low);
return false;
}