【发布时间】:2016-01-24 10:25:15
【问题描述】:
我想知道使用 C++ 中的rand() 函数生成随机数的公式是什么。起初我虽然它每次都会返回随机数,但它没有。
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
srand(9865);
cout << rand() << "\n";
return 0;
}
在这里我想,可能是因为给定的种子编号和未知的公式,它会显示相同的数字。
但是,当我删除“srand(9865);”时并执行几次它只显示“41”作为输出。请解释一下这里发生了什么。
【问题讨论】:
-
搜索 glibc 代码以了解其实际实现方式以及有关 rand 和 srand 如何交互的 rand maual 页面。