我有以下 C - 程序:
#include <stdio.h>
#include <time.h>
int main(int argc, char *argv[]){
srand(time(NULL));
printf("%d", rand());
}
Run Code Online (Sandbox Code Playgroud)
这个 Python 脚本:
import random
import time
random.seed(int(time.time()))
print (random.randint(0, 2147483647))
Run Code Online (Sandbox Code Playgroud)
C 程序中的 RAND_MAX 定义为 2147483647。如果我在同一秒启动两个程序,它们应该打印相同的“随机”数,但事实并非如此?
任何想法为什么?是否实现了不同的方法来获取伪随机数?种子肯定是一样的。