这个表达式是如何工作的:Num*rand() / RAND_MAX

How does this expression work: Num*rand() / RAND_MAX?

本文关键字:rand Num RAND MAX 何工作 工作 表达式      更新时间:2023-10-16

这个表达式是如何工作的?

 Num*rand() / RAND_MAX

例如,如果我用 7.7 替换数字,它会给我从 0.7. (double ( 的值。

rand(( 函数生成一个介于 0RAND_MAX 之间的整数值。 所以rand()/RAND_MAX0 and 1之间生成实际值。所以在下面的代码中,我们有
0 <= val <= n,其中n可以是整数或实数。

double val = n * rand()/RAND_MAX;

标记格林先生的答案,我发现当 n 是整数时,使用 double val = n * rand()/RAND_MAX; 时我会得到 0 的输出。但是,这可以通过稍微添加来解决:

double val = (double) n * rand()/RAND_MAX;