srand((unsigned)time(NULL));这个函数实际有什么用有例子最好 5

 我来答
金色潜鸟
推荐于2016-02-25 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5621万
展开全部
计算机生成的随机数实际上是“伪随机数”,因为它并非真正“随机”。
当 随机数“种子值”固定时,它生成的随机数序列是固定的。
例如 第一次产生 41 67 34 0 69 14, 第二次,第三次...产生的还是41 67 34 0 69 14。
没有 srand() 这句,就是用 默认 种子值。
用 srand((unsigned)time(NULL)); 就是用当前时间秒数(从1970年到现在的时间间隔,单位秒)为种子。
时间变,种子就变,产生的 随机数序列 就变化。增进了“随机性”。

用别的方法设种子当然也可以,例如 写
srand(54321); for (i=0;i<10;i++) x[i]=rand()%100;
srand(678910); for (i=0;i<10;i++) y[i]=rand()%100;
别跟我讲冷笑话
2013-05-21 · 超过17用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:50.6万
展开全部
用时间作为种子随机生成随机数
srand(unsigned(time(0)));

hp2 = rand()% 10;//rank2+1)*5;
exp2 = rand()% 10;//rank2+1;
rank2 = rand()% 10;//10+1;t
money2 = rand()% 50;//rank2+1;
damage2 = rand()% 10;//rank2+1;
}
srand()和rand()要配着使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
何处可人生
2013-05-21 · 超过21用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:52.4万
展开全部
为rand函数根据运行程序时的系统时间不同而建一个种子,如果没这句那么每次运行程序取到的随机数都是一样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式