Right option is (c) compar()
To explain: void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *))
The comparison function pointed to by compar() is called with two arguments that point to the key object to be searched and to an array element, in that order. The function shall return a < 0, = 0, or > 0 if the key object is considered, respectively, to be less than, to match, or to be greater than the array element.