C语言中的rand()函数,说是产生随机数的函数,可是为什么我在使用时产生的随机数就没变过呢?

[复制链接]
查看11 | 回复5 | 2013-5-17 15:04:52 | 显示全部楼层 |阅读模式
你需要加一个种子,就是在用rand()之前加上srand(time(NULL))就好了;这样要用到头文件time.h;根据运行的系统时间不同了计算随机数,但其实这个函数并不是真随机,是伪随机,...
回复

使用道具 举报

千问 | 2013-5-17 15:04:52 | 显示全部楼层
在程序前面加上srand(time(NULL));,保证随机种子在每次执行程序时都不一样,rand()得到的数就不一样了...
回复

使用道具 举报

千问 | 2013-5-17 15:04:52 | 显示全部楼层
随机数函数是不真正的随机数,所以每次运行会有相同的结果,这个现象要用srand函数来解决,用srand函数初始化随机数生成器,可以避免生成相同的随机数一般用电脑的时间来进行初始化srand((unsigned) time(NULL));...
回复

使用道具 举报

千问 | 2013-5-17 15:04:52 | 显示全部楼层
我记得rand()是需要参数的,不同参数导致不同的序列,比如用当前时间作为参数就是一个不错的选择。...
回复

使用道具 举报

千问 | 2013-5-17 15:04:52 | 显示全部楼层
这是因为在使用rand()随机函数时之前要获取随机种子srand((unsigned)time(NULL));...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行