iOS之关于 srand() 和rand()

时间:2024-11-20 23:33:43
srand(seed)用来将随机序列的起始点设为seed
srand((int)time(0))表示以当前时间对应的int值为随机序列起点,这样每次运行程序,由于起点不同才可以得到不同的随机数
time函数给出从1970年1月1日00:00:00至今的秒数,它必须带一个参数,用来存储这个秒数,time()会导致语法错误,time(0)表示秒数不进行存储 1970.1.1 00:00:00点其实就是 ---->程序开发者是在197x年写的初稿,用于unix 的 C语言,所以设了这个零点。计算机和PC流行普及也是七十年代以后的事。所以呢,不要很纠结为什么以这个时间点开始算。 srand((int)time(0)); //其实就是保证rand产生的随机数保证永远不相同
srand(time(0)) ;//先设置种子
rand();//然后产生随机数

Srand是种下随机种子数,你每回种下的种子不一样,用Rand得到的随机数就不一样。为了每回种下一个不一样的种子,所以就选用Time(0),Time(0)是得到当前时时间值(因为每时每刻时间是不一样的了)。

srand(time(0)) ; 

就是给这个算法一个启动种子,也就是算法的随机种子数,有这个数以后才可以产生随机数, 
用1970.1.1至今的秒数,初始化随机数种子。