バイナリサーチは条件として、データが昇順にソートされている必要があります。ソートは一般的に検索よりも時間がかかります。
#include < stdio.h > #include < search.h > int cmp_func(int *a,int *b) { return((*a)-(*b)); } void main() { static int ary[10]={2,4,1,3,5,7,9,6,8,0}; static int target=5; int *ptr; qsort(ary,10,sizeof(int),cmp_func); ptr=(int *)bsearch(&target,ary,10,sizeof(int),cmp=func); if(ptr!=NULL){ printf("target is ary[%d]\n",ptr-ary); } else{ printf("target not found\n"); } }