为什么srand()放在for循环里面和外面输出来的结果不一样,放在外面输出来的就是10个随机数,放在里面输出来的就全是5,或全是2.。
int main()
{
int a[10];
int i;
for (i = 0; i < 10; i++)
{
srand((time(NULL)));
a[i] = rand()%10;
}
for (i = 0; i < 10; i++)
{
printf("%d ",a[i]);
}
getchar();
return 0;
}
srand((time(NULL)));
这个是用当前时间初始化种子
因为计算机很快
所以放在循环里面,等于每次都初始化了相同的种子,所以出现了数字的重复
放在外面,则只初始化了一次,可以得到一串伪随机数