[英]How to get nth number in sequence of rand() directly without having to call rand() n times?
[英]First call of rand() without seed() --> same number?
我正在寻找可用于多个操作系统的ac程序,这些程序在平台之间对于完全相同的数据会产生不一致的结果。 因为我缺少一些可以在系统上进行编译和调试的库。
我注意到它在初始化期间调用了rand()而不调用srand(),可能是因为它只需要1个随机值。 现在,我想知道rand()在这种情况下的行为如何? 它是否需要随机库的操作系统初始值? 我目前希望这可以解释每个平台的不同结果,但是我缺乏rand()的背景知识以及如果不使用srand()调用会发生什么情况。
如果它总是返回操作系统的default-init值,它将解释为什么不同的平台会产生不同的结果。
谢谢任何输入,对理论问题感到抱歉-无代码^^。
从rand()
的联机帮助页中:
如果没有提供种子值,则rand()函数将自动以1值作为种子。
因此,在给定的系统中,它将始终为您提供相同的顺序。 但是,即使种子是相同的,不同的平台也可能实现不同的随机生成器,从而产生不同的序列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.