看到一个问题,为什么如下代码在每次循环时重新设置随机种子打印出来的数都一样?
#include <cstdio>
#include <ctime>
#include <cstdlib>
void test_rand(void) //随机测试
{
for(int i = 0; i < 100; i++) {
srand((unsigned)time(NULL)); //设置种子
printf("%10d\n", rand());
}
}
int main()
{
test_rand();
return 0;
}
初看略疑惑,想明白就觉得二。。。
#include <cstdio>
#include <ctime>
#include <cstdlib>
#include <windows.h>
void test_rand(void) //随机测试
{
for(int i = 0; i < 100; i++) {
srand((unsigned)time(NULL)); //设置种子
Sleep(100);
printf("%10d\n", rand());
}
}
int main()
{
test_rand();
return 0;
}
现在就不都一样了。。