-1
我計算數字的發生,結果是準確的,右:使用數組和運行時檢查失敗#2-S,Visual Studio的C++
#include <iostream>
using namespace std;
const int max = 51;
int main()
{
int num = 0;
int array[max] = { 0 };
cout << "Enter interger number from 0 to 50 and type in -1 to show occurence:";
while (num!=-1)
{
cin >> num;
array[num] = array[num]+1;
}
cout << "all entered number are:" << endl;
cout << "Number\tFrequency" << endl;
for (num = 0; num < max; num++)
{
if (array[num]>0)
{
cout << num <<"\t"<< array[num] << endl;
}
}
return 0;
}
爲什麼在Visual Studio總是通知我的以下:
運行時檢查失敗#2-S,
「運行時檢查失敗#2-S」並不意味着任何東西最多的人。請包括一個確切的錯誤信息,並通過調試來向我們展示您發現的內容。另外,顯示導致問題的輸入,以便重現,或者更好地將輸入硬編碼到程序中。 – chris
你永遠不會檢查'num'是否超出界限:'array [num]'。 – user0042
如果用戶輸入的任何數字大於50或小於0,則表示您超出範圍。 '-1'超出了'array [num] = array [num] +1;' – drescherjm