这是我第一次用C语言尝试随机数(我想念C#).这是我的代码:
int i, j = 0;
for(i = 0; i <= 10; i++) {
j = rand();
printf("j = %d\n", j);
}
Run Code Online (Sandbox Code Playgroud)
使用此代码,每次运行代码时都会得到相同的序列.但是如果我srand(/*somevalue/*)在for循环之前添加,它会生成不同的随机序列.有谁能解释为什么?
我已经读过它与时间有关,你也可以从包含time.h开始,所以我假设了很多,但它是如何工作的呢?此外,它是否有任何倾向于奇数或偶数或类似的东西?最后是在C标准库或Foundation框架中有更好的分发吗?