标题:rand()产生数不随机?
只看楼主
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:262
专家分:203
注 册:2012-12-20
结帖率:91.18%
已结贴  问题点数:20 回复次数:7 
rand()产生数不随机?
rand()产生数怎么不随机,每次退出VFP9.0(注:不是退出模块,是退出系统),再次进来,产生一次数据,竟然是一样的?
FOR p=1 TO 10
f=int(rand()*100)
?f
endfor
这是怎么回事,大家试试。
搜索更多相关主题的帖子: 次数 FOR rand 退出 随机 
2020-01-09 20:10
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 
变个种试试
先加多句
rand(-1)
2020-01-09 20:16
fown
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:58
帖 子:1229
专家分:171
注 册:2005-5-26
得分:8 
rand(seconds())
只要里面种子值是一样的,退出重新进,都是一样的,换个种子就可以了

有人说VFP不行了,我想说,你连VFP十分之一的功能都不会用,你怎么知道VFP不行?本人拒绝回答学生的问题我回答问题一般情况下只提供思路不提供代码,请理解
2020-01-09 20:21
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:262
专家分:203
注 册:2012-12-20
得分:0 
里面种子值取不同,如seconds(),每次退出,再进来产生的数是不同了,但这10个数都是一样的了
FOR p=1 TO 10
f=int(rand(seconds())*100)
?f
endfor
还是没达到效果
2020-01-09 20:30
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:352
专家分:1152
注 册:2015-10-2
得分:2 
按吹佬版主所说:在我这边测试是可以的:
RAND(-1)
FOR p=1 TO 10
f=int(rand()*100)
?f
ENDFOR
2020-01-09 21:10
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:262
专家分:203
注 册:2012-12-20
得分:0 
对的,确实可以了,非常感谢大侠的指点,又解决了一个问题
2020-01-09 22:11
fown
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:58
帖 子:1229
专家分:171
注 册:2005-5-26
得分:0 
以下是引用asdf_123000在2020-1-9 20:30:34的发言:

里面种子值取不同,如seconds(),每次退出,再进来产生的数是不同了,但这10个数都是一样的了
FOR p=1 TO 10
f=int(rand(seconds())*100)
?f
endfor
还是没达到效果

你这样出来的值是一个,种子一致,实际代码中,一般不用这样用,如果用时间随机,在编程中很常见

有人说VFP不行了,我想说,你连VFP十分之一的功能都不会用,你怎么知道VFP不行?本人拒绝回答学生的问题我回答问题一般情况下只提供思路不提供代码,请理解
2020-01-10 08:59
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
这个现象在VFP的帮助文件中说的很清楚,大部分教材也会提及,只要仔细看过相关的内容就知道。

活到老,学到老! http://www. E-mail:hu-jj@
2020-01-10 09:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498878-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015312 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved