if...goto怎么个用法啊

来源:百度知道 编辑:UC知道 时间:2024/05/22 20:38:30
Option Explicit
Private Sub Form_Load()
Dim a As Double
Dim y As Double
Dim z As Double

a = Val(InputBox("Please input numberic data a"))

If a >= 0 Then GoTo myexit
y = a * a + 100
z = Sqr(a + y)
Exit Sub
myexit:
y = -a + 11
z = Sin(a / y)
End Sub
请高手帮我解释解释这个vb小程序
特别是后面if..goto的语句请详细点 谢谢

a = Val(InputBox("Please input numberic data a")) 输入一个数,其实InputBox得到的是字符串,然后再用val转换成数字
If a >= 0 Then GoTo myexit 如果a大于等于0的话,程序跳转到myexit标识
y = a * a + 100 如果到这里的话,a是小于0的,做a的平方加100
z = Sqr(a + y) 这里是开平方运算
Exit Sub
myexit: 上面的如果成立的话,跳转到这里
y = -a + 11 到这里就是a大于等于0的情况了
z = Sin(a / y) sin就不用解释了吧,取sin的值
End Sub

goto是程序跳转。
上面代码的意思是当a>=0的时候程序就跳转到执行myexit处定义的代码。
myexit: //跳转的标识
y = -a + 11 //执行的代码
z = Sin(a / y) //执行的代码
End Sub
只有在a<0的时候才顺序执行
y = a * a + 100
z = Sqr(a + y)
而不走myexit:处的代码