问题
单项选择题
窗体上有一个名称为Command1的命令按钮,一个名称为Text1的文本框。编写如下程序:
Private Sub Command1_Click()
Dim x As Integer
x = Val( InputBox ("输入数据") )
Text1 = Str( x + fun(x) + fun(x) )
End Sub
Private Function fun(ByRef n As Integer)
If n Mod 3 = 0 Then
n=n+n
Else
n=n*n
End If
fun=n
End Function
对于上述程序,以下叙述中错误的是( )。
A) 语句fun=n有错,因为n是整型,fun没有定义类型
B) 运行程序,输入值为5时,文本框中显示655
C) 运行程序,输入值为6时,文本框中显示42
D) ByRef表示参数按址传递
答案
参考答案:A
解析: 过程fun的功能是将传入的值运算后返回,当传入数值为3的整数倍时返回该值的2倍,否则返回该值的平方。过程Fun的参数指定为ByRef方式,即按址传递,因此会影响实参的值。Str函数是将数值转换为字符串。过程fun定义时没有指明返回类型因此默认为Variant类型,它可以表示任何值,因此A)选项的说法不正确。