关于随机函数 请那位高手帮忙解释一下!!!

来源:百度知道 编辑:UC知道 时间:2024/07/14 02:18:38
关于随机函数 请那位高手帮忙解释一下!!!
srand(time(NULL));
com=rand()%2+1;
这两句怎么理解阿

随机数是一个算法,生成[0,1]区间内的数字.但现在的RAND函数都是伪随机数,需要有一个初始化种子,而且生成的序列跟种子相关,所以以时间为种子,才能保证每时每刻生成不同的序列.

另,如果你要的不是[0,1]区间的数,比如1-5之前的,当然要乘5加1了.

PS:C会自动取整,其它语言可能还要用取整函数过滤小数部分.

srand(time(NULL));这句是初始化随机数发生器。你记着这样写就是。
rand()是产生随机数。
rand()%2产生的是0~1的数,因为对2取模,加1的话就产生了1~2的随机数了。
再把随机数赋值给com.