我是一個C++新手。我想生成一個隨機的字符串序列用於我的程序。它在大多數情況下都是有效的,但是偶爾會出現行爲異常並從計算機內存中丟棄一個隨機字符串。我犯了什麼愚蠢的錯誤(如果有的話)?簡單的C++程序超出了它的數組邊界和崩潰
的代碼如下:
#include <iostream>
#include <ctime> // Needed for the true randomization
#include <cstdlib>
#include <string>
using namespace std;
int main()
{
string holder[] = {"A", "B", "C", "D", "E"};
int xRan;
srand(time(0)); // This will ensure a really randomized number by help of time.
xRan=rand()%6+1;
xRan--;
cout << "Value of xRan is: " << xRan << " value is " << holder[xRan] << endl;
return 0;
}
這是走出界限,你陣列的最後一個索引是4 – PaulG
66%的時間它每次工作:) – NickC