关于while(cin>>)

代码如下:

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执行不了。
这里最好还是控制输入个数比较好。

猜你喜欢

转载自blog.csdn.net/yogima/article/details/79747894
今日推荐