前言

函数

srand() //获得随机数
rand() //返回随机值
time() //返回系统时间

一般用法

1
2
3
4
#include<stdlib.h>
#include<time.h>
srand(unsigned int time(0)); //初始化随机数(种子)
printf("%d",rand()); //输出随机数

说明

上式中为什么能连续调用两个函数,而且都使用到了(随机数这个变量)?

因为,这个变量是stdilib.h文件中的静态,内部链接数据类型。(函数外的static)

time()函数返回系统时间。

可以使得每次编译得到的种子不一样。

如果要想在一次的程序编译中获得多个种子,或者人为地获得种子?

可以用循环更换srand()的参数。
但是,这样就无法在每次编译执行后,获得不同的种子了。(因为给予的是每次都相同的常数)

关于函数rand()

因为srand()给的这个数很大,所以要用取余和加的方式获取产生范围内的值。

  • 例如要取(0,100)rand() % 101 //因为取余101的范围是(0-100)

  • 要取(10, 20)rand() % 11 + 10
    //只需要搞清(取余的范围和范围内有几个数)就可以了