如果我输入两位数整数进行搜索,为什么循环会崩溃?与一位整数整数一起使用时效果很好。帮帮我。
#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;
}
答案 0 :(得分:1)
您的程序可能不会崩溃,它只是比您预期的更早结束。当您同时使用1
作为外部循环索引和输入值时,循环将在您输入8或更大的值后结束,因为n
将返回n <= size
。
您需要为输入数字使用单独的变量:
false