猿问

请问下面这个语句,关于if...goto怎么个用法啊?

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的语句请详细点 谢谢

拉丁的传说
浏览 286回答 2
2回答

繁华开满天机

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的平方加100z = Sqr(a + y) 这里是开平方运算Exit Submyexit: 上面的如果成立的话,跳转到这里y = -a + 11 到这里就是a大于等于0的情况了z = Sin(a / y) sin就不用解释了吧,取sin的值End Sub

catspeake

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