I wrote a recursive function for binary search in pset" and I keep getting the same error from clang: "control may reach end on non-void function" it is driving me crazy... some help would be very welcome. :)
here is my code:
bool binary_search(int value, int array[], int lower, int upper)
{
if (array != NULL && lower >= 0 )
{
// check boundaries
if (lower > upper)
{
return false;
}
else
{
// find middle of array
int middle = (upper + lower) / 2;
// recurses with left part
if (value < array[middle])
return binary_search(value, array, lower, middle - 1);
// recurses with right part
else if (value > array[middle])
return binary_search(value, array, middle + 1, upper);
else if (value == array[middle])
return true;
}
else
return false;
}
Someone?