有人可以解释一下srand
的确切做法。我知道它与函数rand有关,并且输入rand
函数的值是一个种子值,但这个种子值究竟是如何影响flex-basis
函数的呢?
答案 0 :(得分:1)
在具有特定参数的srand
之后,对rand
的后续调用将产生完全相同的序列。因此,您可以使用srand
来允许用户例如准确地再现使用随机数的算法的结果。例如,在我的C上,
rand: 16807
rand: 282475249
rand: 1622650073
srand(3)
rand: 50421
rand: 847425747
rand: 572982925
srand(3)
rand: 50421
rand: 847425747
rand: 572982925
请注意,第二个序列和第三个序列是相同的。
如果你问的是种子与下面的随机数有什么确切的数字关系,那通常是无关紧要的;如果你真的需要知道,你需要知道使用的确切伪随机数生成算法:不同的C编译器可以自由使用不同的算法,因为算法没有在C语言规范中定义。
答案 1 :(得分:0)
以下是 windows 平台中的工具:
srand
所以rand
只是设置随机种子以进行跟随{{1}}调用生成相同的输出。