#include "stdio.h" int BinarySearch(int a[], int n, int x )//数组,数组长度,key { intlow=0,high=n-1; while(high >= low){ //待搜区间非空 int mid = (low+ high )/2; if (x == a[mid]) return mid; //查找成功则返回相应的位置 else if (x < a[mid]) high =mid-1; else low = mid+1; } return -1; //查找失败,返回-1 } int main() { int a[]={1,2,4,6}; int sign = 0; sign = BinarySearch(a, 4, 3); printf("%d\n",sign); }