首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在窗体上画一个命令按钮,其名称为Command1,然后编写如下程序: Private Sub Command1_Click() Dim a(10)As Integer Dim x As Integer For i=1
在窗体上画一个命令按钮,其名称为Command1,然后编写如下程序: Private Sub Command1_Click() Dim a(10)As Integer Dim x As Integer For i=1
admin
2010-03-22
37
问题
在窗体上画一个命令按钮,其名称为Command1,然后编写如下程序:
Private Sub Command1_Click()
Dim a(10)As Integer
Dim x As Integer
For i=1 To 10
a(i)=i
Next i
x=1
MsgBoxa(f(x)+x)
End Sub
Function f(y As Integer)
y=y+2
f=y
End Function
程序运行后,单击命令按钮,消息框的输出结果为______。
选项
答案
6
解析
本题考查VBA中参数传递的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用ByRef声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。本题中函数f的形参y没有使用ByVal声明,则默认为传址传递。当求a(f(x)+x)值的时候,先要求出f(x)+x的值。由于x的值为1,那么调用函数f以后得到f(x)的返回值为3,同时由于函数f中改变了形参y的值,在传址传递的前提下这一改变会影响到对应的实参x,故此函数调用结束后x的值变为3,也就是最后输出的应该是a(6)的值也就是6。举一反三,如果最后输出的不是a(f(x)+x)而是 a(x+f(x)),则会先取得x的值1,然后再计算f(x)的值为3,那么最后输出的就不是a(6)的值而是a(4)的值了。
转载请注明原文地址:https://kaotiyun.com/show/E8wp777K
本试题收录于:
二级Access题库NCRE全国计算机二级分类
0
二级Access
NCRE全国计算机二级
相关试题推荐
有如下类定义:classMyClass{public:MyClass(constchar*c=NULL);~MyClass();___
下列有关模板的叙述中,正确的是()。
在数据管理技术发展的三个阶段中,数据共享最好的是()。
有如下程序:#includeusingnamespacestd;classSample{public:Sample(){}~Sample(){cout
已知一程序运行后执行的第一个输出操作是cout
堆排序最坏情况下的时间复杂度为
下列关于栈的叙述中,正确的是
结构化程序设计的基本原则不包括( )。
一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
窗体模块和报表模块都属于______。
随机试题
氯气泄漏后,处理空气中氯的最好方法是向空气中( )。
尿浓缩的主要部位是【】
()是确定工程造价(计划价格)的经济文件。
背景资料:某堤防工程项目业主与承包商签订了工程施工承包合同。合同中估算工程量为5300m3,单价为180元/m3,合同工期为6个月。有关付款条款如下:(1)开工前业主应向承包商支付估算合同总价20%的工程预付款。(2)业主自第一个月起
部门预算中的一般预算支出包括()。
难度是指项目的难易程度,用P代表。P值越(),难度越低。
一般情况下,使用鼠标双击计算机桌面上的应用程序快捷图标即可()。
[*]
在关系模型的数据库管理系统中,三种基本关系运算是______。
WhendidthewomangototheSummerPalace?
最新回复
(
0
)