准确找到生成的数字范围?

时间:2017-11-28 15:38:24

标签: c range

我很可能在整个代码中做错了,但在尝试查找范围时:

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;
}

1 个答案:

答案 0 :(得分:1)

double rr = 4.0*rand()/RAND_MAX+1;您需要使用double,更重要的是将结果(rr)分配给某个变量。

printf("%lf",rr);用于打印结果。

据我们所知,这里没有范围计算。

您只是打印一个未初始化的变量(r)。 (打印时似乎可以得到值0。)