srand函数与rand函数到底是怎么工作的;
我单独用rand函数时:比如
for(int i=0;i<=5;i++)
{
cout<<rand()%100<<endl;
}这个函数可以生成6个不同的数;但是当我关掉exe端口后,再次执行文件,生成的6个数和第一次生成的6个数是一样的,这是怎么回事?
另外:对于
for(int i=0;i<=5;i++)
{ srand(10);
cout<<rand()%100<<endl;
}函数,却生成6个一样的数,,,很懵?求解释
1.srand()函数需要提供一个种子值,如果这个值不变,那么每次调用rand函数生成的伪随机数序列都是一样的。rand()函数只有配合srand(seed)函数,且seed要随机(比如可以用系统时间time(NULL)),这样才能真正产生随机数。
2.不要把srand(10)写在循环内。
谢谢你,加上之前的百度,现在你的解释让我可以理解了,尤其是你的最后面两句话,谢谢