代码如下
double delay_time=6*rand()/RAND_MAX; //用来取一个0-1之间的随机数。
编译没有问题,但是很明显只能生成0,
rand函数为什么没效果呢?原因在于c++ 对于格式的要求还是稍显严格的,如果在进行数学计算的时候,参与计算的数组都是int类型,那么结果也会是int类型,无论这里是不是用double类型来接受赋值,都不会改变int类型。
这里要把6改为6.0
就可以了
double delay_time=6.0*rand()/RAND_MAX;