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 ;
}

  这样每次运行程序时得到的值不再相同!

猜你喜欢

转载自www.cnblogs.com/external/p/10381257.html