代码如下:
int main()
{
cout << "请输入数字以构成二分查找的数组" << endl;
int a[1000];
int x, n = 0;
while (cin >> x)
{
a[n] = x;
n++;
}
cout << "请输入你想查找的数字" << endl;
int i, j, aa;
cin >> aa;
if (BinarySearch(a, n, aa, i, j))
cout << "匹配的数组下标为:" << i << endl;
else
cout << "无匹配结果" << endl;
system("pause");
运行时发现输入数字数组后加了ctrlz之后回车,程序不会再让用户输入aa的值,而是直接打印出了“无匹配结果”。
原因是ctrlz会认为是EOF文件末尾,因此后面的cin执行不了。
这里最好还是控制输入个数比较好。