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 随机数的主要内容,如果未能解决你的问题,请参考以下文章

21个常用代码片段

[linux][c/c++]代码片段02

PHP 代码片段

java获取随机时间的源码片段

正在渲染opengl的随机屏幕片段-这表明啥错误?

HTML代码片段