首页 > 编程知识 正文

srand函数和rand函数的区别,C语言srand函数

时间:2023-05-05 11:43:39 阅读:223984 作者:3411

1、rand()、srand()函数介绍

srand 初始化随机种子,rand 产生随机数

定义函数:int rand(void)

函数功能:产生随机数

函数说明:rand的内部实现是用线性同余法做的,不是真的随机数,因为其周期特别长,一定的范围里可看成是随机的。rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。

返回值: 返回0至RAND_MAX之间的随机整数值,RAND_MAX的范围最少是在32767之间(int),即双字节(16位数)。若用unsigned int 双字节是65535,四字节是4294967295的整数范围。且0-RAND_MAX每个数字被选中的机率是相同的。

rand()产生的是假随机数字,每次执行时是相同的。若要不同,以不同的值来初始化它.初始化的函数就是srand()。

void srand(unsigned int seed)

2、代码举例

#include

#include

#include

#include

int main() {

srand((unsigned)time(0);

for (int i = 0; i < 10; i++) {

printf("%dt", 1 + (int)(10.0 * rand() / RAND_MAX + 1.0));

}

}

3、结果展示

注释掉srand((unsigned)time(0))结果如下

不注释结果如下

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。