int bfind(int *a,int len,int val) { int m = len/2; int low = 0; int hig = len; while ( low != m && hig != m) //当 { if ( val > a[m]) //当val在右边 { low = m; m = (low + hig)/2; } else if ( val < a[m]) //当val在左边 { hig = m; m = (low + hig)/2; } else return m; //返回下标 } return -1; }