#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int binary_search(int *p,int value,int low,int high)
{
int position = -1;
while (low <= high)
{
printf("low = %d\nhigh = %d\n",low,high);
position = low+high >> 1;
if (p[position] == value)
{
return position;
}
else if (p[position] > value)
{
high = position-1;
}
else if (p[position] < value)
{
low = position+1;
}
}
return -1;
}
int main()
{
int array[] = {-2,1,2,3};
int n = sizeof(array)/sizeof(array[0]);
printf("%d\n",binary_search(array,1,0,n-1));
return 0;
}