vb练习解答

来源:百度知道 编辑:UC知道 时间:2024/06/20 04:06:04
.Function F (a As Integer )
b=0
Static c
b=b+1
c=c+1
F=a+b+c
End Function

Private Sub Command1_Click()
Dim a As Integer
a =2
For i=1 To 3
Print F(a)
Next i
End Sub
运行上面的顺序,单击命令按钮,输出结果为??
(要过程)

第一次:
f=2+1+1=4
第二次:
b=0
f=2+1+2=5
第三次:
b=0
f=2+1+3=6
结果为:4、5、6

每一次循环为4,For i=1 To 3就是循环3次,所以4×3 = 12
print 12

答案为:
4
5
6
如果楼主再继续点击命令按钮,输出的结果为:
7
8
9
再点击命令按钮的话,仍以此类推。
我也在VB中运行验证些结果。

我不确定楼主哪一步不明白,我建议楼主这样做:当i=1,2,3,分别将a,b,c的值代入定义的函数去算。摸着石头过河就容易了。
在这里要明白一个"Static"的意思,static定义的变量为静态变量,即static定义的变量,每次引用时,其值会继续保留。这和dim定义的变量不同,dim定义的变量每次引用时,其值会被重置(数值变量重置为0,字符串变量会被重置为空)。
这个过程共调用函数三次,static c,VB默认赋初值为0,第一次调用c=0,F=2+1+1=4;因为是静态变量,其值继续保留,第二次调用时c=c+1,那c=2,F=2+1+2=5;第三次调用,c=3,F=2+1+3=6。
因为楼主已经清楚了:)