gpt4 book ai didi

c - rand() 和 RAND_MAX 根据数据类型给出不同的值

转载 作者:行者123 更新时间:2023-11-30 21:01:17 25 4
gpt4 key购买 nike

这里,当我打印 x 的值时,它给出零作为输出。而当我打印 y 时,我得到正确的值(0 和 1 之间的随机数),类型转换似乎是问题所在。为什么我需要打字吗?

double x,y;
x=rand()/RAND_MAX;
printf("X=%f\n",x);
y=(double)rand()/RAND_MAX;
printf("Y=%f",y);

输出

X=0.000000
Y=0.546745

最佳答案

当你用一个整数除以一个整数时,你会得到截断整数除法。所以使用

y = (double)rand() / RAND_MAX;

绝对是获得您想要的结果的正确方法。

关于c - rand() 和 RAND_MAX 根据数据类型给出不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36105850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com