我正在为我的类(class)进行C++赋值,我们必须使用rand()和99的种子来产生一组值。但是,我的问题是,当我尝试在参数中创建一个值时,该数字与讲师为我们提供的确定的第一个数字不同。
代码如下所示:
int lottoNumber;
srand (RANDOM_NUMBER_SEED);
do
{
lottoNumber = rand ();
} while (lottoNumber > 25 || lottoNumber < 1);
cout << lottoNumber << endl;
由此产生的值为13,而预期产生的值为2。对于为什么与众不同的任何帮助,将非常有用,谢谢!
最佳答案
rand()
使用的算法是实现定义的。
这意味着在不同的编译器和编译器版本上它可能有所不同。
关于C++ rand()未根据种子提供正确的数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42170847/