编写如下程序: Function Fun1(ByVal a As Integer, b As Integer) As Integer a = b + a b = 2 * a Fun1 = b End Function Private

admin2020-06-30  20

问题 编写如下程序:
Function Fun1(ByVal a As Integer, b As Integer) As Integer
    a = b + a
    b = 2 * a
    Fun1 = b
End Function
Private Sub Command1_Click()
    Dim x As Integer
    x = 5
    Print Fun1(Fun1(x, x - 1), x - 2)
End Sub
程序运行后,单击命令按钮Command1,输出结果为

选项 A、5
B、42
C、50
D、68

答案B

解析 函数Fun1参数a是值传递,b是地址传递,值传递是将实参变量值传递给形参变量a,地址传递是将实参变量地址传给形参变量b,这意味着a的变化不会改变原变量的值,b的变化会改变原变量的值。定义局部变量x,x=5,调用函数Fun1(Fun1(x,x - 1),x - 2),首先调用的Fun1(5,4),此时a=9,b=18,返回值为18;第二次调用fun(18,3),a=18+3=21,b=2*a=42,返回值为42,故输出结果为42,选B项。
转载请注明原文地址:https://kaotiyun.com/show/wUHp777K
0

最新回复(0)