Random VB6随机数生成种子范围
随机(种子)功能的范围是什么?当从myfunction调用generate时,该代码的编写方式是否会将随机数生成器的种子值设置为20?随机函数是改变全局变量还是局部变量 谢谢你的帮助Random VB6随机数生成种子范围,random,vb6,scope,random-seed,Random,Vb6,Scope,Random Seed,随机(种子)功能的范围是什么?当从myfunction调用generate时,该代码的编写方式是否会将随机数生成器的种子值设置为20?随机函数是改变全局变量还是局部变量 谢谢你的帮助 Function myfunction() Call seed() Call generate() End Function Function seed() Randomize (20) End Function Function generate() Dim X As Inte
Function myfunction()
Call seed()
Call generate()
End Function
Function seed()
Randomize (20)
End Function
Function generate()
Dim X As Integer
X = CInt(100*Rnd)
End Function
如果使用显式值调用Randomize或根本不调用Randomize,则程序的每次启动都会得到相同的序列。尝试:
Dim i As Long
Dim sText As String
sText = ""
For i = 1 To 10
sText = sText & CInt(100 * Rnd(10)) & vbCrLf
Next i
MsgBox sText
但当然,有时可能是想要的结果…如果您使用显式值调用Randomize或根本不调用Randomize,则程序的每次启动都会得到相同的序列。尝试:
Dim i As Long
Dim sText As String
sText = ""
For i = 1 To 10
sText = sText & CInt(100 * Rnd(10)) & vbCrLf
Next i
MsgBox sText
但当然,有时它可能是想要的结果…
Randomize()
具有应用范围。它只需要在启动时播种一次,通常是在Form_Load()
或类似的初始化事件中。您还可以在generate()
函数中使用Static
布尔值,以确保在第一次生成数字时调用Randomize()
。也没有太多理由传递像20这样的值。只需单独使用随机化语句即可。上面使用的括号也很愚蠢,几乎和不返回值的函数一样糟糕。Randomize()
具有应用范围。它只需要在启动时播种一次,通常是在Form_Load()
或类似的初始化事件中。您还可以在generate()
函数中使用Static
布尔值,以确保在第一次生成数字时调用Randomize()
。也没有太多理由传递像20这样的值。只需单独使用随机化语句即可。上面使用的括号也很愚蠢,几乎和不返回值的函数一样糟糕。