小编fat*_*ati的帖子

srand()如何工作?

这是我的代码:

#include<stdio.h>
#include<stdlib.h>
#include <time.h>
int main(){
float m, n;
printf("Enter n, m:");
scanf("%f %f", &n, &m);
int l;
l=m-n;
int i;
for(i=0; i<4; i++){
    srand(time(NULL));
    double r=rand();
    r/=RAND_MAX;
    r*=l;
    r+=n;
    printf("%f ", r);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么它生成相同的数字?当我srand(time(NULL));在循环之前写字时,它产生不同的数字!为什么会这样?这个程序如何运作?

c random srand

1
推荐指数
1
解决办法
2613
查看次数

标签 统计

c ×1

random ×1

srand ×1