// util.h
#include <time.h>
int createRandom(min, max) {
srand(time(NULL));
if (!min) min = 0;
return rand() % max + min;
}
我试着打印出time(NULL), 发现都是相同的。
// util.h
#include <time.h>
int createRandom(min, max) {
srand(time(NULL));
if (!min) min = 0;
return rand() % max + min;
}
我试着打印出time(NULL), 发现都是相同的。
|
yahoo21cnMay 6, 2015
1
因为在同一秒内所以导致随机种子相同了吧
|
|
2
`srand()` 函数在整个程序里面只需要执行一次就够了。
|
|
123123May 6, 2015
3
就如楼上说的执行一次就够了
不过你这个种子值设置的也有问题 会导致每次生成同样的数列 |
|
bdbaiMay 6, 2015 via iPhone
4
把生成的随机数存起来 下次发现重复就等一会
|
|
ho121May 6, 2015 via Android
5
为什么在头文件中写函数定义
|
|
bjzhushMay 6, 2015
6
加个参数seed,传入当前毫秒级时间
|
|
sandideasMay 6, 2015
7
用time当做随机数的种子就可以了
|
|
8
@XadillaX 我试了可以。但是这样的话,我怎么封装`createNumber()`函数啊?
|