srand( (unsigned)time( NULL ));究竟是什么意思 ?

srand((unsigned)time(NULL));究竟是什么意思?哪位帮忙讲一下随机数和伪随机数,有没有哪个网站上讲啊,我找不到... srand( (unsigned)time( NULL ));究竟是什么意思 ?哪位帮忙讲一下随机数和伪随机数,有没有哪个网站上讲啊,我找不到 展开
 我来答
匿名用户
2015-07-07
展开全部
  srand((unsigned)time(NULL))是初始化随机函数种子:
  1、是拿当前系统时间作为种子,由于时间是变化的,种子变化,可以产生不相同的随机数。
  计算机中的随机数实际上都不是真正的随机数,如果两次给的种子一样,是会生成同样的随机序列的。 所以,一般都会以当前的时间作为种子来生成随机数,这样更加的随机。
  2、使用时,参数可以是unsigned型的任意数据,比如srand(10);
  3、如果不使用srand,用rand()产生的随机数,在多次运行,结果是一样的。
  参考如下:
  void test_rand(void)

{
unsigned long n;

srand((unsigned)time(NULL));

for(int i = 0; i < 100; i++)
{
n = rand();
printf("d\n", n);
}
}
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
junky163
2008-08-30 · TA获得超过348个赞
知道小有建树答主
回答量:179
采纳率:50%
帮助的人:2.2万
展开全部
重新设置一个随机种子。。。
如果没有srand((unsigned)time(NULL));运行以下程序,每次输出结果会都是一样的。。。。。

void test_rand(void)
{
unsigned long n;

srand((unsigned)time(NULL));

for(int i = 0; i < 100; i++)
{
n = rand();
printf("%10d\n", n);
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式