cstdlib 的 rand() 的替代品

Alternative to cstdlib's rand()

本文关键字:替代品 rand cstdlib      更新时间:2023-10-16

是否有rand()的替代方案?因为每次我运行此简单代码时:

代码:

#include <iostream>
#include <cstdlib>
using namespace std;
void Gla()
{
  int L;
  L = rand();
  while(1)
  {
      cout<<L<<endl;
  }
}

int main()
{
    Gla();
    return 0;
}

它不断输出41,我不知道为什么会这样。

这与rand()无关。问题是代码将值分配给L,然后输入循环,多次编写L的(相同)值。请记住,一旦将值分配给变量,它就会保留该值,直到更改它为止。因此,从

更改您的功能
void Gla()
{
  int L;
  L = rand();
  while(1)
  {
      cout<<L<<endl;
  }
}

to

void Gla()
{
  int L;
  while(1)
  {
      L = rand();
      cout<<L<<endl;
  }
}

这样,L的值每次通过循环进行更新。