C中的rand()函数是否遵循非确定性算法

时间:2019-03-31 05:55:52

标签: c algorithm

我想知道c编程中的rand()函数是否遵循非确定性算法

1 个答案:

答案 0 :(得分:4)

  

c中的rand()函数是否遵循非确定性算法(?)

不。 int rand(void)void srand(unsigned int seed)共同构成pseudo-random的序列 数字。与srand()一起播种,并且相同的种子将生成相同的确定性序列。

  

rand函数计算范围为0至的伪随机整数序列   RAND_MAX C11dr§7.22.2.12

     

srand函数使用该参数作为新的伪随机数序列的种子,该序列将由随后对rand的调用返回。如果随后以相同的种子值调用srand,则必须重复伪随机数序列 。如果在对rand进行任何调用之前调用srand,则应生成与首次调用srand且种子值为1时相同的序列。§7.22.2.22 < / p>

注意:编译器之间的顺序可能有所不同,但是在给定的编译中,该顺序是确定性的。