我正在为我的类(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/

10-11 02:44