这是我的代码:
#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));在循环之前写字时,它产生不同的数字!为什么会这样?这个程序如何运作?