VB——Sub过程(追加分数)
答案:2 悬赏:70 手机版
解决时间 2021-04-19 07:00
- 提问者网友:缘字诀
- 2021-04-18 10:15
VB——Sub过程(追加分数)
最佳答案
- 五星知识达人网友:神鬼未生
- 2021-04-18 10:41
你这里的两个sub中的x都是局部变量,也就是说只能在sub内部起作用,到了外部就失效了。所以要在sub外部定义变量x,使其成为全局变量。
其实最好的办法是用自定义函数,就可以不用定义全局变量了:
Private Sub Form_Click()
Dim x As Integer
x = 1
x=Mysub4(3+x)
Print x
End Sub
Private Function Mysub4(x As Integer)
x = 3 * x - 1
If x < 5 Then x = x + 9
Print x;
Mysub4=x
End Function
运行结果是 11 11
补充回答:出现“ByRef参数类型不符”的原因,是因为你没有定义x为Integer类型
再补充:
Private Sub Form_Click()
Dim x As Integer
x = 4
Mysub4 x
Print x
End Sub
Private Sub Mysub4(x As Integer)
x = 3 * x - 1
If x < 5 Then x = x + 9
Print x;
End Sub
其实最好的办法是用自定义函数,就可以不用定义全局变量了:
Private Sub Form_Click()
Dim x As Integer
x = 1
x=Mysub4(3+x)
Print x
End Sub
Private Function Mysub4(x As Integer)
x = 3 * x - 1
If x < 5 Then x = x + 9
Print x;
Mysub4=x
End Function
运行结果是 11 11
补充回答:出现“ByRef参数类型不符”的原因,是因为你没有定义x为Integer类型
再补充:
Private Sub Form_Click()
Dim x As Integer
x = 4
Mysub4 x
Print x
End Sub
Private Sub Mysub4(x As Integer)
x = 3 * x - 1
If x < 5 Then x = x + 9
Print x;
End Sub
全部回答
- 1楼网友:等灯
- 2021-04-18 11:05
因为两个变量 x都是过程变量而已。虽然名称相通,但只要离开了该过程,那么该变量也随之消失了。
比如,第一个过程的x只属于Sub Form_Click()的,第二个过程的x只属于Sub Mysub4()的。
比如,第一个过程的x只属于Sub Form_Click()的,第二个过程的x只属于Sub Mysub4()的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯