德牧前腿弯曲怎么恢复:vb函数题(初级)

来源:百度文库 编辑:高考问答 时间:2024/05/03 06:12:37
Private Sub Command1_Click()
For i = 1 To 10
GetValue (i)
Next i
Print GetValue(i)
End Sub
Private Function GetValue(ByVal a As Integer)
Static s As Integer
s = s + a
GetValue = s
End Function
1+。。。。到10应该是55呀 在+个10也就是65 为什么会是66呢? s是函数被调用了11次?

Private Sub Command1_Click()
For i = 1 To 10
GetValue (i)
Next i
Print GetValue(i) "当上面的循环执行10次以后.i其实又加了1,所以这个语句中i其实现在的直变成11了.
End Sub
Private Function GetValue(ByVal a As Integer)
Static s As Integer
s = s + a
GetValue = s
End Function

其实这种逻辑错误,最好通过设置中断语句来自己调试,有利于提高编程水平

Next i 应该可以让I加1,此时i=11,Print GetValue(i) 又调用一次
你最好改改程序

同意一楼的说法,很正确!