第一次调用rand()没有seed() – >相同的数字?

我正在查看可用于多个操作系统的交流程序,并在平台之间为完全相同的数据产生不一致的结果。 看,因为我缺少一些库来编译和调试它在我的系统上。

我注意到它在初始化期间调用rand()而不调用srand(),可能是因为它只需要1个随机值。 现在,我想知道rand()在这种情况下是如何表现的? 是否需要随机库的操作系统初始值? 我目前希望这可以解释每个平台的不同结果,但我缺乏rand()的背景知识,如果没有srand()调用会发生什么。

如果它总是返回操作系统的default-init值,它将解释为什么不同平台产生不同的结果。

任何输入的Thx和抱歉的理论问题 – 没有代码^^。

来自rand()的手册页:

如果未提供种子值,则rand()函数将自动播种,值为1。

因此,在给定的系统中,它总是会给你相同的序列。 然而,即使种子是相同的,不同的平台也可以实现不同的随机生成器,从而产生不同的序列。