关于VC中随机数的问题.高手进来帮帮我啊!!!
VC中产生随机数一般都是这样:
srand((unsigned)time(NULL));
int i = rand();
如果反复执行这段语句的话产生的i的值大体相同.
我看了别人讲的如果按下面的方式的话产生的数就不一样
srand((unsigned)time(NULL));
int i;
for(int k=0;k<10;k++)
{
i = rand();
}
这样得到的10个i的值都不一样.
但我现在的目的是执行一次只要得到一个i.不需要多个.
但是这段程序要反复执行.如果执行的速度快那得到的i就相同.就算不一样得到的i值也是递增的.完全不是随机的!
应该怎么解决啊????
[解决办法]
每次都初始化一下种子
srand((unsigned)time(NULL)); // 可以换成GetTickCount()... rand()