C语言生成随机数的函数,为什么循环后随机数都一样?

 我来答
创作者aGFOMesuQ5
2020-02-27 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:32%
帮助的人:970万
展开全部
怎么改ls的大哥们都说了:就是把scand放到for循环上面,只调用一次就可以了。
至于为什么放在for循环里会产生相同的随机数,我来给你说下吧:
srand()函数是初始化随机数产生器,它产生随机数种子,说白了就是初始化随机数。
srand((unsigned)time(0));取的是系统时间,也就是距离1970.1.1午夜有多少秒。
而for循环每循环一次时间远远小于1秒,这就导致了srand((unsigned)time(0))产生的种子并没有改变。
那么,相同的随机数种子所产生的随机数肯定是一样的了。
您明白了吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式