循环崩溃

时间:2018-11-29 06:50:11

标签: c++

如果我输入两位数整数进行搜索,为什么循环会崩溃?与一位整数整数一起使用时效果很好。帮帮我。

#include <iostream>
#include <string>
using namespace std;

int main()
{
    double arr[] = { 15, 29, 38, 47, 56, 64, 72, 83 };
    int size = sizeof(arr) / sizeof(arr[0]);
    for (int n = 0; n <= size; n++) {
        cout << "Enter the number to search:  ";
        cin >> n;
        for (int i = 0; i < size; i++) {
            if (arr[i] == n) {
                cout << "The number is in index no: " << i << endl
                     << endl;
            }
        }
    }
    return 0;
}

1 个答案:

答案 0 :(得分:1)

您的程序可能不会崩溃,它只是比您预期的更早结束。当您同时使用1 作为外部循环索引和输入值时,循环将在您输入8或更大的值后结束,因为n将返回n <= size

您需要为输入数字使用单独的变量:

false