我有一个典型的情况,我需要生成一批随机数。我使用了一个循环,每次通过都会生成 100 个随机数:
for(int i=0; i<npasses; i++)
{
srand(time(NULL)); //Initialize seed
for(int j=0; j<100; j++)
printf("%d ", rand()%10);
printf("\n"); //New line after 100 numbers
}
现在,内部循环在不到一毫秒的时间内执行。结果,time() 的值没有变化。这会将种子 (srand()) 重新初始化为相同的值,并且我的随机数被重复..
任何人都可以提出解决方法/修复方法。