标签: c++
我正在尝试从1 - 99,999,999生成一个随机数 然而,它永远不会那么高。我认为它与int的大小有关。
这是我正在尝试的
(1 + rand() % 99999999)
由于
答案 0 :(得分:1)
您的代码无效,因为rand返回的值的最大值为RAND_MAX
int rand(void); 生成随机数 返回0到0之间范围内的伪随机整数 RAND_MAX。
int rand(void);
生成随机数 返回0到0之间范围内的伪随机整数 RAND_MAX。
RAND_MAX rand返回的最大值此宏扩展为 整数常量表达式,其值是返回的最大值 通过兰特功能。 此值取决于库,但保证至少为 32767任何标准库实现。
RAND_MAX
rand返回的最大值此宏扩展为 整数常量表达式,其值是返回的最大值 通过兰特功能。
此值取决于库,但保证至少为 32767任何标准库实现。
答案 1 :(得分:0)
要生成最小值和最大值之间的随机数,它们应为长数据类型使用:
long randamNum = rand()%(max-min + 1) + min; (Includes max and min)
更清晰,请参阅Generating random integer from a range