rand和srand函数的一个疑问。
已经知道了srand函数是生成一个seed,每次运行rand每次前先检测是否有srand函数,如果没有,只运用rand函数那么就会生成一个相同的序列。如果不使用srand函数,只用rand
for(int i=0;i<10;i++)
{
int j=rand()%9;
printf("%d ",j);
}
假设这个程序每次生成的序列都为6 5 3 7 8 4 5 5 7 0
根据描述每次rand返回一个数,我的疑惑就是第一次调用rand时,默认利用了srand(1)这个条件,种子为1.
那么进行第二次循环的时候,调用rand时,此时是否还是调用 srand(1)的这个条件?那么5是如何产生的呢?
不是很清楚里面的具体实现机理。希望有好心的同学帮忙讲解一下。