C语言-srand种子详解

rand() 函数取得随机数的时候是通过一个叫做"种子"的变量经过计算得出一个数值, 然后得出的数值再作为新的"种子"参与下一次的运算, 这样就得到了所谓的随机数

srand() 的作用就是用给定的数字来代替种子, 比如用当前的时间做种子, 因为每次运行程序时间都不一样, 所以 rand() 函数给出的随机数也不一样, 这样能使随机函数更具有随机性

所以使用 srand() 设置一次种子即可(可以使用时间戳, 因为每次执行时间不一样, 此时 srand() 不要放在循环内, 否则同一秒产生的种子相同, 则随机数也相同)

时间: 2024-07-31 06:24:42

C语言-srand种子详解的相关文章

C语言预处理命令详解

一  前言 预处理(或称预编译)是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作.预处理指令指示在程序正式编译前就由编译器进行的操作,可放在程序中任何位置. 预处理是C语言的一个重要功能,它由预处理程序负责完成.当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译. C语言提供多种预处理功能,主要处理#开始的预编译指令,如宏定义(#define).文件包含(#include).条件编译(#ifdef)等.合理使用预处理功能编

Swift语言的基础详解

1.1.关于swift · Swift 是一种适用于 iOS 和 OS X 应用的全新编程语言,它建立在最好的 C 和 Objective-C 语言之上,并且没有 C 语言的兼容性限制.Swift 采用安全的编程模式,增加了现代功能使 编程更容易.更灵活.更有趣.Swift 以成熟且备受宠爱的 Cocoa 和 Cocoa Touch 框架为 支撑,这是一个重新构想软件开发的机会. · 支持Playground,它允许程序实时预览,无需频繁创建和运行APP · 简洁, 安全, 容易, 灵活, 高效

C语言指针传递详解

传递指针可以让多个函数访问指针所引用的对象,而不用把对象声明为全局可访问,要在某个函数中修改数据,需要用指针传递数据,当数据是需要修改的指针的时候,就要传递指针的指针,传递参数(包括指针)的时候,传递的是它们的值,也就是说,传递给函数的是参数值的一个副本 本文将讨论C语言中指针传递给函数与从函数返回指针 本文地址:http://www.cnblogs.com/archimedes/p/c-transfer-point.html,转载请注明源地址. 用指针传递数据 用指针传递数据的一个主要原因是函

C语言sscanf()函数详解的代码

下面资料是关于C语言sscanf()函数详解的内容,希望能对各位朋友有好处. 说明:sscanf()会将参数str的字符串根据参数format来转换并格式化数据. format格式 #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int result; char str[100]; char buf1[255], buf2[255], buf3[255], buf4[255]

以Apache服务器、php语言为例 详解动态网站的访问过程

目前来说,网站页面主要分为静态页面和动态页面,纯静态页面组成的网站现在相对比较少见,大型网站一般使用的是动态网站建站技术,还有一部分网站是静态网页与动态网页共存, 本文以Apache服务器.php语言为例,详解动态网站的访问过程,下面直接切入本文主题. (1)用户端访问服务器端的html文件 S1:通过本机配置好的DNS域名服务器地址寻找DNS服务器,将网站URL中的Web主机域名解析为Web服务器所在的Linux操作系统(Apache通常与Linux操作系统组合使用)中对应的IP地址. S2:

C语言link过程详解(多文件编译过程)

原文摘自:http://www.cppblog.com/shifan3/archive/2007/01/05/17325.html详解link有些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external simbol的错误信息不知所措(因为这样的错误信息不能定位到某一行).或者对语言的一些部分不知道为什么要(或者不要)这样那样设计.了解本文之后,或许会有一些答案.首先看看我们是如何写一个程序的.如果你在使用某种IDE(V

C语言 sscanf用法详解

/* sscanf用法详解 */ #include <stdio.h> /* sscanf头文件 */ #include <stdlib.h> #include <string.h> /* sscanf 读取格式化的字符串中的数据. swscanf 是 sscanf 的宽字符版本:swscanf 的参数是宽字符串. swscanf不处理 Unicode 全角十六进制或"兼容性区"字符. 除此以外,swscanf 和 sscanf 的行为完全相同. 函

c语言位运算详解

位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型. C语言提供的位运算符列表: 运算符含义描述 & 按位与      如果两个相应的二进制位都为1,则该位的结果值为1,否则为0 | 按位或      两个相应的二进制位中只要有一个为1,该位的结果值为1 ^ 按位异或    若参加运算的两个二进制位值相同则为0,否则为1 ~ 取反        ~

dedecms织梦做中英文(多语言)网站步骤详解

用dedecms织梦程序如何做中英文网站,下面是一个详细的图文教程,希望能帮助到大家. 以下是用dedecms织梦程序制作过的一个5国语言网站,下面开始教程. 一.首先在后台建栏目,有三点需要注意 1.需要做几种语言就加几个大的栏目,我把这个栏目叫做封面栏目,里面都是自己语言的导航栏目 2.封面栏目“常规选项”的文件保存目录设置为cn或者en 3.封面栏目“高级选项”的列表模板设置为cn_index.htm或者en_index.htm 二.网站代码的调用 每种语言的封面栏目和每种语言下的导航栏目