读书人

随机数赋值srand()放在循环体跟循环

发布时间: 2012-12-19 14:13:14 作者: rapoo

随机数赋值,srand()放在循环体和循环体外的区别

这是一段由下面一段代码引发的血案:

/*把srand放在循环里,输出永远是1111111111*/#include<stdio.h>#include<stdlib.h>int main(){   int i=0;   //srand(10);  //这条去掉   for(i=0;i<10;i++)   {    srand(10);  //放在循环里    printf("%d",rand()%10);   }   printf("\n");   return 0;}


rand函数是一个伪随机数列。在没有srand的情况下,每次生成的序列都是一样的。
而运行了srand(n);以后在n相同的情况下,rand每次生成的序列还是一样的。
就是说,如果每次运行一次srand(n);再运行rand,生成的第一个数都是一样的。(time(NULL),是以秒为单位,一秒钟数字增加一个)





读书人网 >其他相关

热点推荐