做外贸网站咨询,关于茶文化网站建设的背景,宁波做网站排名的公司有哪些,系统数据库与建设网站文章出自个人博客https://knightyun.github.io/2018/04/25/c-rand-number#xff0c;转载请申明。 在程序设计中#xff0c;难免会使用到随机值函数#xff0c;其原理与语法大多类似#xff0c;接下来以C语言为例介绍其随机值函数 rand() 用法。 原理 引用百度百科#xf…文章出自个人博客https://knightyun.github.io/2018/04/25/c-rand-number转载请申明。 在程序设计中难免会使用到随机值函数其原理与语法大多类似接下来以C语言为例介绍其随机值函数 rand() 用法。 原理 引用百度百科首先需要包含头文件 #include stdlib.hrand()函数是按指定的顺序来产生整数因此每次执行上面的语句都打印相同的两个值所以说C语言的随机并不是真正意义上的随机有时候也叫伪随机数使用 rand() 生成随机数之前需要用随机发生器的初始化函数 srand(unsigned seed)也位于 stdlib.h 中 进行伪随机数序列初始化seed 又叫随机种子通俗讲就是如果每次提供的 seed 是一样的话最后每一轮生成的几个随机值也都是一样的因此叫伪随机数所以需要每次提供不同的 seed 达到完全的随机我们通常用时间函数 time(NULL) 作为 seed 因为时间值每秒都不同这个函数需要包含以下头文件 #include time.h理论太泛下面用例子分析理解。 举例分析先来理解以下伪随机数编译以下代码 #include stdio.h#include stdlib.h#include time.hint main(){ srand(1); int i; for (i 0; i 10; i) printf(%d, , rand()%11); } 运行结果 8, 9, 9, 1, 7, 5, 5, 10, 1, 0,然后无论运行多少次结果都依然是以上随机数不会改变因为每次设置的种子 seed 都是 1 。 但是假如把 seed 换成 time(NULL)每次就不一样了如下 #include stdio.h#include stdlib.h#include time.hint main(){ srand(time(NULL)); int i; for (i 0; i 10; i) printf(%d, , rand()%11); } 结果是就变了并且每次都不一样 6, 3, 4, 5, 5, 9, 8, 10, 10, 4,6, 4, 2, 4, 3, 2, 5, 1, 2, 9,这里的 time(NULL) 的结果是一个类似于 1524655706 的数字并且每秒都在递增 1也就达成了 srand() 的 seed 不断变化的目的不断生成新的随机数。 拓展这里注意一下例子中函数 rand() 的用法函数括号内不需要加参数如果直接调用 rand() 的话会生成下面这样的数 17163, 2663, 24810, 4875, 26975, 14119, 22193, 11233, 26009, 20105,所以我们想要生成指定范围的随机数的话就需要使用到求余运算符 %这里有个规律例如我们需要 0–10的随机数时就写成 rand()%110–100就写成 rand()%101就是运算符后的数字需要比需求范围极值大 1当然这也是取余运算的原理。--------------------- 作者KNIGH_YUN 来源CSDN 原文https://blog.csdn.net/knigh_yun/article/details/80082944 版权声明本文为博主原创文章转载请附上博文链接转载于:https://www.cnblogs.com/hunshidamowang/p/10436465.html