Data Structure Algorithm C

int binary_search(char *items, int count, char key)
{
  int low, high, mid;
  low = 0; high = count-1;
  while(low <= high) {
    mid = (low+high)/2;
    if(key < items[mid]) high = mid-1;
    else if(key > items[mid]) low = mid+1;
    else return mid; /* found */
  }
  return -1;
}