#include <stdlib.h> |
#include <stdio.h> |
#define NELEMS(arr) (sizeof(arr) / sizeof(arr[0])) |
int numarray[] = {123, 145, 512, 627, 800, 933}; |
int numeric ( const int *p1, const int *p2 ) |
{ |
return ( *p1 - *p2 ); |
} |
int lookup ( int key ) |
{ |
int *itemptr; |
/* The cast of (int(*)(const void *,const void*)) |
is needed to avoid a type mismatch error at |
compile time */ |
itemptr = bsearch ( &key, numarray, NELEMS ( numarray ), |
sizeof ( int ), ( int ( * ) ( const void *, const void * ) ) numeric ); |
return ( itemptr != NULL ); |
} |
int main ( void ) |
{ |
if ( lookup ( 512 ) ) |
printf ( "512 is in the table.\n" ); |
else |
printf ( "512 isn't in the table.\n" ); |
return 0; |
} |