C implementation of binary search