首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
某人编写了下面的程序: Private Sub Command1_Click() Dim a As Integer, b As Integer a=InputBox("请输入整数") b=InputBox("请输入整数") pro
某人编写了下面的程序: Private Sub Command1_Click() Dim a As Integer, b As Integer a=InputBox("请输入整数") b=InputBox("请输入整数") pro
admin
2019-03-14
41
问题
某人编写了下面的程序:
Private Sub Command1_Click()
Dim a As Integer, b As Integer
a=InputBox("请输入整数")
b=InputBox("请输入整数")
pro a
pro b
Call pro(a+b)
End Sub
Private Sub pro(n As Integer)
While(n>0)
Print n Mod 10;
n=n\10
Wend
Print
End Sub
此程序功能是:输入2个正整数,反序输出这2个数的每一位数字,再反序输出这2个数之和的每一位数字。例如:若输入123 和234,则应该输出:
3 2 1
4 3 2
7 5 3
但调试时发现只输出了前2行(即2个数的反序),而未输出第3行(即2个数之和的反序),程序需要修改。下面的修改方案中正确的是( )。
选项
A、把过程pro 的形式参数 n As Integer 改为 ByVal n As Integer
B、把Call pro(a+b)改为 pro a+b
C、把n=n\10 改为 n=n / 10
D、在pro b语句之后增加语句 c%=a+b ,再把 Call pro(a+b)改为 pro c
答案
A
解析
在过程定义中过程的形式参数定义时如果没有ByVal指明参数的传递方式,那么默认为地址传递,这样过程中对形参的改变将影响到实参的值。本程序中过程定义语句 Private Sub pro(n As Integer)说明形参n为按地址传递的,而在过程内语句n=n\10改变了形参的值,因此,a、b的值就不再是最初输入的值了,表达式a+b就不是期望的两个输入数的和。因此得不到正确结果。
只要把Private Sub pro(n As Integer)改为Private Sub pro(ByVal n As Integer),程序即可得到正确结果,因此A选项正确。
转载请注明原文地址:https://kaotiyun.com/show/oIUp777K
本试题收录于:
二级VB题库NCRE全国计算机二级分类
0
二级VB
NCRE全国计算机二级
相关试题推荐
以下关于函数过程的叙述中,正确的是
下列关于菜单项的描述中,错误的是
编写如下程序:PrivateSubCommand1Click()DimxAsInteger,yAsIntegerx=InputBox(“输入第一个数”):y=InputBox(“输入第二个数”)Callf(x,y)Print
对于列表框控件Listl,能够表示当前被选中列表项内容的是
下面正确使用动态数组的是
语句Dima(-3To4,3To6)AsInteger定义的数组的元素个数是
确定图片框Picturel在窗体上位置的属性是
以下控件中,能显示滚动条的是
在考生目录下已有一个工程文件sjt5.vbp。运行程序后,分别从两个文件中读出数据,放入两个一维数组a、b中。请编写程序,当单击“合并数组”按钮时,将a、b数组中相同下标的数组元素的值求和,并将结果存入数组c。单击“找最大值”按钮时,调用find过程分别找
在E-R图中,用来表示实体的图形是
随机试题
手工电弧焊时,使用碱性焊条比酸性焊条更容易产生焊工金属热反应。
合同正文________
设函数y=f(x)满足方程xy’+y=x,且求f(x);
男,30岁,主诉:右面部弥漫性疼痛2天;对于鉴别是否为牙源性疼痛最有价值的检查手段是
某市西城区建委根据市政府总体规划,对某大街实施改造,张某房屋位于改造区。某日,西城区建委改造建设指挥部下达住房安置通知,张某未搬迁。数日后,受区建委委托的该市某拆迁公司强行拆除了张某房屋,张某不服申请行政复议。下列哪个选项是本案的被申请人?()
之间共需设几道结构梁?
无效合同
()不是拣货单位的种类。
2020年9月1日,《求是》杂志发表习近平总书记的重要文章《思政课是落实立德树人根本任务的关键课程》。根据该文章,下列关于思政课的表述错误的是:
下列纸板无法折成()项中的纸盒。
最新回复
(
0
)