我很可能在整个代码中做错了,但在尝试查找范围时:
4.0 * rand()/ RAND_MAX + 1
我最终只得到数字0,我很确定它还有更多。
代码(C中):
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(NULL));
int r;
4.0*rand()/RAND_MAX+1;
printf("%i",r);
return 0;
}
答案 0 :(得分:1)
double rr = 4.0*rand()/RAND_MAX+1;
您需要使用double,更重要的是将结果(rr
)分配给某个变量。
printf("%lf",rr);
用于打印结果。
据我们所知,这里没有范围计算。
您只是打印一个未初始化的变量(r
)。 (打印时似乎可以得到值0
。)