rand()与 srand()

Posted 654321cc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rand()与 srand()相关的知识,希望对你有一定的参考价值。

一   头文件 <time.h>

  srand()就是给rand()提供种子seed。

  在C语言中,srand()与rand()是随机函数,其中srand函数是伪随机数发生器的初始化函数,原型void srand(unsigned int seed);rand()是伪随机数生成器,在调用了srand()产生的种子以后,产生伪随机数。

  C语言中语句srand( (time(NULL) ) ; 表示设置一个随机种子,每次运行都能保证随机种子不同。

  在C语言中,rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,它是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值。因此,C提供了srand()函数,它的原型是 void srand( int a)。用来改变这个种子值。

  srand( (time(NULL) )中time(NULL)函数是得到一个从1900年1月1日到现在的时间秒数,这样每一次运行程序的时间的不同就可以保证得到不同的随机数了

  

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    srand(time(NULL));
    printf("%d",rand());

    return 0;
}

 

 

二  头文件 <windows.h>

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
int main()
{
    srand(time(NULL));//time.h
    printf("%d",rand());
    Sleep(500);//windows.h
    printf("xxx");
    return 0;
}

  输出:

28666xxx
Process returned 0 (0x0)   execution time : 0.537 s

 

以上是关于rand()与 srand()的主要内容,如果未能解决你的问题,请参考以下文章

rand和srand函数的用法

rand和srand函数的用法

`rand()` 的用处 - 或者谁应该调用 `srand()`?

srand(getpid()) 和 rand() 在下面做啥?

RAND函数和SRAND函数

rand()和srand()的用法