srand和rand()配合使用产生伪随机数序列。
srand(time(NULL)); //是以当前时间为种子,产生随意数。
1) 如果希望rand()在每次程序运行时产生的值都不一样,必须给srand(seed)中的seed一个变值,这个变值必须在每次程序运行时都不一样(比如到目前为止流逝的时间)。
2) 否则,如果给seed指定的是一个定值,那么每次程序运行时rand()产生的值都会一样,虽然这个值会是[seed, RAND_MAX(0x7fff))之间的一个随机取得的值。
3) 如果在调用rand()之前没有调用过srand(seed),效果将和调用了srand(1)再调用rand()一样(1也是一个定值)。
该方法产生的随机数最大为RAND_MAX 一般为)0x7fff 32767
要取得[a,b)之间的随机整数,使用(rand() % (b-a))+ a 。在a为0的情况下,简写为rand() % b。
用rand() / double(RAND_MAX)可以取得0~1之间的浮点数