【发布时间】:2011-04-30 13:01:58
【问题描述】:
对于下面的一段代码:
#include<stdlib.h>
#include<stdio.h>
int main()
{
int x;
x = rand()%100;
printf("The Random Number is: %i", x);
return 0;
}
它似乎总是将随机数打印为 83。这是为什么呢?
【问题讨论】:
-
因为你没有初始化 PRNG。您需要根据时间等变化来设置种子。但我建议完全避免集成 c PRNG。
-
@CodeInChaos:什么是“PRNG”?您在这里与一个完整的 C n00b 交谈。
-
我只想重申,
rand的大多数实现都非常糟糕,即使在简单的模拟中也会崩溃。