rand
函数是C语言库中用于生成伪随机数的函数,它位于stdlib.h
头文件中,所以在使用它之前需要包含这个头文件。
rand
函数生成的随机数是伪随机数,因为它们是由一个确定性算法生成的,只是看起来像是随机数。
![rand函数用法详解(c语言生成0~99随机数) 图片[1]-rand函数用法详解(c语言生成0~99随机数)-不念博客](https://www.bunian.cn/wp-content/uploads/2023/05/qqjietu20230503170721.png)
函数原型:
int rand(void);int rand(void);int rand(void);
rand
函数不接受任何参数,每次调用时返回一个范围在0到RAND_MAX
(通常是INT_MAX
,在大多数系统上是32767)之间的整数。
以下是一些使用rand
函数的示例:
示例1:生成一个0到99之间的随机整数
#include <stdio.h>#include <stdlib.h>#include <time.h>int main() {srand(time(NULL)); // 初始化随机数种子int random_number = rand() % 100;printf("随机数是:%d\n", random_number);return 0;}#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand(time(NULL)); // 初始化随机数种子 int random_number = rand() % 100; printf("随机数是:%d\n", random_number); return 0; }#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand(time(NULL)); // 初始化随机数种子 int random_number = rand() % 100; printf("随机数是:%d\n", random_number); return 0; }
示例2:生成一个指定范围(如10到50)之间的随机整数
#include <stdio.h>#include <stdlib.h>#include <time.h>int main() {srand(time(NULL)); // 初始化随机数种子int min = 10;int max = 50;int random_number = min + rand() % (max - min + 1);printf("随机数是:%d\n", random_number);return 0;}#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand(time(NULL)); // 初始化随机数种子 int min = 10; int max = 50; int random_number = min + rand() % (max - min + 1); printf("随机数是:%d\n", random_number); return 0; }#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand(time(NULL)); // 初始化随机数种子 int min = 10; int max = 50; int random_number = min + rand() % (max - min + 1); printf("随机数是:%d\n", random_number); return 0; }
在上述示例中,我们使用srand
函数初始化了随机数生成器的种子。
srand
函数接受一个无符号整数作为参数,用于设置随机数生成器的初始状态。
通常,我们会用当前时间(time(NULL)
)作为种子,这样每次运行程序时生成的随机数序列都不同。
如果不调用srand
函数设置种子,rand
函数将使用默认种子(通常是1),这将导致每次运行程序时生成的随机数序列相同。
需要注意的是,rand
函数生成的随机数并不适用于密码学安全场景,因为它的算法可以预测。在需要密码学安全的随机数时,应使用其他安全随机数生成器。
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END