【发布时间】:2018-11-18 13:22:57
【问题描述】:
为了生成 0 到 1 之间的随机数,我编写了以下代码:
double random_0_to_1(){
srand (time(NULL));
random();
return (double)random() / (double)RAND_MAX;
}
int main(){
for(int i = 0 ; i < 10 ; i++){
double temp = random_0_to_1();
printf("%f\n", temp);
}
return 0;
}
无论我调用多少次,生成的结果总是相同的。总是生成相同的数字。我尝试了很多不同的方法,但似乎找不到任何有效的方法。有没有办法在我每次调用random_0_to_1 时生成不同的随机数?
【问题讨论】:
-
您的代码中有一个无用的 random 调用。
标签: c random time random-seed