标签:当前时间 ++ 也会 include std 时间 and 那是 unsigned
有时候我们需要程序产生一个随机数.
可以用rand()
但是其实这个随机数是伪随机数,它是一个周期很长的一个值而已.
所以我们可以加入一个随机数种子srand(),这个可以取以当前时间为基准的一个值.
1 #include <stdlib.h> 2 #include <stdio.h> 3 #include <time.h> 4 main() 5 { 6 int i,k; 7 srand( (unsigned)time( NULL ) ); 8 for( i = 0; i < 10;i++ ) 9 { 10 k=rand()%100+1; //rand()%100表示取100以内的随机数, 由于rand产生的随机数是0到rand_max,而rand_max是一个很大的数,那么要产生一个从X到Y的随机数,x=rand()%(Y-X+1)+X 11 printf( " k=%d\n", k ); 12 } 13 }
然后可以看一下我这里出的结果
1 k=18 2 k=62 3 k=97 4 k=28 5 k=85 6 k=97 7 k=99 8 k=47 9 k=35 10 k=59
其实如果把srand去掉,可以发现也会产生一些随机数,只不过每次运行产生的随机数都是一样的.
那是因为你不设定种子,每次默认的种子都是1.
但是加上以后,就感觉比较随机了,每次都是不一样的.
标签:当前时间 ++ 也会 include std 时间 and 那是 unsigned
原文地址:https://www.cnblogs.com/zhmlzhml/p/12506812.html