参考代码如下: #include <iostream> using namespace std; int a[20] = {0}; void init() { for (int i = 0; i < sizeof(a) / sizeof(int); ++i) { a[i] = 2 * i; } } int binarysearch(int a1[], int begin, int end, int key) { while (begin <= end) { int mid = (begin + end) / 2; if (key < a1[mid]) end = mid - 1; else if (key > a1[mid]) begin = mid + 1; else return mid; } return -1; } int main() { init(); cout<<binarysearch(a,0,sizeof(a) / sizeof(int) - 1, 6)<<endl; cout<<binarysearch(a,0,sizeof(a) / sizeof(int) - 1, 7)<<endl; return 0; }