Linux 随机数
Posted 一叶而知天下秋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 随机数相关的知识,希望对你有一定的参考价值。
一、rand函数
rand函数的简单使用,rand()返回一个[0, RAND_MAX]中的随机数
#include <stdlib.h> #include <stdio.h> #include <time.h> int main() { printf("%d\\n", RAND_MAX); //srand(time(NULL)); for(int i = 0; i < 5; i++) { printf("%d\\n", rand()); } return 0 ; }
运行结果
二、srand函数
rand得到的随机数只是一个伪随机数,由算法得到的,且存在一个问题,当我们再一次运行时会发现和上一次得到的随机数时一样的
这是因为rand内部实际是通过一个种子进行一些算法得到的值,默认为1,种子相同,算法相同,所以每次得到的值相同!
于是就用到了srand函数,为rand函数设置随机种子,传入一个值,可以传入时间,保证不相同!
#include <stdlib.h> #include <stdio.h> #include <time.h> int main() { printf("%d\\n", RAND_MAX); srand(time(NULL)); for(int i = 0; i < 5; i++) { printf("%d\\n", rand()); } return 0 ; }
这样每次运行程序时得到的值不再相同!
以上是关于Linux 随机数的主要内容,如果未能解决你的问题,请参考以下文章