二分搜索的時候,是要慢慢縮小搜索范圍的。比如一共有10個,那么middle是5,下一層搜索的范圍應(yīng)該是1-4和6-10。你的函數(shù)里沒有這個功能。搜索函數(shù)至少應(yīng)該是int BinarySearch(Type a[], const Type& x,int left, int right);終止條件就是if(left > right) 你定義y的時候是在main函數(shù)里,所以BinarySearch里面不能直接用y,解決方式是在外部定義一個全局的y變量,或者把y變量傳到函數(shù)里。