1
我正在通过一个可用于多个操作系统的c程序进行查看,并针对完全相同的数据在平台间产生不一致的结果。因为我缺乏一些库来编译和调试我的系统。第一次调用rand()没有种子() - >相同的数字?
我注意到它在初始化时调用rand()而不调用srand(),可能是因为它只需要一个随机值。 现在,我想知道rand()在这种情况下的行为如何?它是否需要随机库的操作系统初始值? 我目前希望这可以解释每个平台的不同结果,但是我缺乏rand()的背景知识,以及如果在没有srand()的情况下调用它,会发生什么。
如果它总是返回操作系统的默认初始值,它将解释为什么不同的平台产生不同的结果。
Thx任何输入和抱歉的理论问题 - 无代码^^。
'rand()'没有精确指定。该算法因平台而异,即使使用相同的种子。 – EOF 2015-01-31 18:19:49