伪随机整数的生成

博客主要探讨rand与srand之间的联系,但具体内容缺失。rand和srand在编程中是重要的函数,了解它们的联系有助于更好地实现随机数相关功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、rand()

功能:生成一个 [0, RAND_MAX] 伪随机整数
#include <stdlib.h>
int rand(void);
返回值:[0, RAND_MAX],其中,不同的实现中 RAND_MAX 会有所不同,但值至少是 32767

二、srand()

功能:设置 rand() 的种子值,如果没有设置种子值,rand()自动将 1 作为种子值
	如果每次运行程序时都使用相同的种子值,那么生成的随机数序列是相同的,
	为了每次运行程序时都生成不同的随机数序列,我们需要使用一个变化的种子值,常用 time(NULL)
#include <stdlib.h>
void srand(unsigned int seed);

三、demo

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
  int i;

  srand((unsigned int)time(NULL));

  for (i = 0; i < 6; i++)
    printf("%d ", rand());

  printf("\n");

  for (i = 0; i < 6; i++)
    printf("%d ", rand());

  printf("\n");

  return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值