前言
本文主要详细介绍如何在C语言中生成随机数。
一、产生随机数
我们先看一个示例:产生一个随机数并在屏幕上输出
#include
#include
#include
int main() {
srand((unsigned int)time(NULL)); int ret=rand() % 10; printf("产生一个随机数:%d\n", ret); return 0; }
此代码的运行结果:

二、具体分析
1.rand函数
(1)范围
在C语言中我们需要用 rand() 函数来产生随机数。
我们登录 https://www.cplusplus.com/ 网站进行查询(这里提到的网站是官方C++网站,里面详细介绍了相关语法函数等)

在Search中输入我们要查询的函数 rand,点击Go
以下是跳转页面,此处截取了一部分。

由此我们大概了解了rand()函数的相关信息,其产生随机数的范围为
0——RAND_MAX
这里的RAND_MAX 是一个值,我们可以将其拷贝至VS编译器中,选中右键转到定义:

我们可以看到,其值为0x7fff

这里的0x7fff十六进制,转化为二进制为:32767
因此:rand()函数所产生随机数的范围:0—32767
(2)对应头文件
在C语言中rand()函数所对应的头文件为:stdlib.h
2.srand函数
假使我们在编写程序的过程中只采用了 rand() 函数来进行随机数的获取,那么我们会发现一个问题:
运行程序,每次产生的随机数相等(也就是说,随机数不随机)

这是因为在使用 rand() 函数时需要用 srand() 函数设置随机数种子。

同样,我们可在该网站继续查找 srand () 函数

我们跳转到time () 函数

在使用 time() 函数时我们通常给的值 NULL(空指针)
且在使用时需要调用其所对应的头文件 time.h
因此,最终使用 srand() 函数需要:

3.整合
在C语言中产生随机数:

总结
以上就是本文的全部内容,感谢大家观看。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220464.html原文链接:https://javaforall.net
