cstdlib的替代方案';s兰德() 有一个替代RAND()吗?因为RAND()(至少对我来说)是畸形的。所以如果你知道C++中的RAND()的替代,请告诉我。因为每次运行这个简单的代码:

cstdlib的替代方案';s兰德() 有一个替代RAND()吗?因为RAND()(至少对我来说)是畸形的。所以如果你知道C++中的RAND()的替代,请告诉我。因为每次运行这个简单的代码:,c++,random,C++,Random,代码: #包括 #包括 使用名称空间std; void Gla() { int L; L=兰德(); 而(1) { cout这与rand()无关。问题是代码给L赋值,然后进入循环,多次写入L的(相同)值。请记住,一旦你给变量赋值,它会一直保持该值,直到你改变它。因此从 void Gla() { int L; L = rand(); while(1) { cout<<L<<endl; } } void Gla() { int L; L=兰德

代码:

#包括
#包括
使用名称空间std;
void Gla()
{
int L;
L=兰德();
而(1)
{

cout这与
rand()
无关。问题是代码给
L
赋值,然后进入循环,多次写入
L
的(相同)值。请记住,一旦你给变量赋值,它会一直保持该值,直到你改变它。因此从

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

是否可以将L的赋值放在循环中,以便每次传递时都得到一个新的随机数?您可以使用srand()初始化stdio生成器。请参阅您可以使用类似clock()的东西当然,使用C++ 11,你可以访问真实C++随机数生成器,请参阅重新打开。这不是关于代码> SRand < /C>的重复。实际上,它不是关于代码> RAND()
,这是关于赋值操作的意义。投票人:这是一个合理的问题,反映了一个非常常见的初学者困惑。
void Gla()
{
  int L;
  L = rand();
  while(1)
  {
      cout<<L<<endl;
  }
}
void Gla()
{
  int L;
  while(1)
  {
      L = rand();
      cout<<L<<endl;
  }
}