首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
某人编写了下面的程序: Private Sub Command1_Click() Dim a As Integer, b As Integer a=InputBox("请输入整数") b=InputBox("请输入整数") pr
某人编写了下面的程序: Private Sub Command1_Click() Dim a As Integer, b As Integer a=InputBox("请输入整数") b=InputBox("请输入整数") pr
admin
2018-09-19
45
问题
某人编写了下面的程序:
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/OmFp777K
本试题收录于:
二级VB题库NCRE全国计算机二级分类
0
二级VB
NCRE全国计算机二级
相关试题推荐
考生文件夹下的工程文件sjt5.vbp中有一个初始文本为空的文本框Text1,两个标题分别是“读数据”和“计算”的命令按钮;请添加一个标题为“各行平均数的最大值”的标签Label2,再添加一个初始文本为空的文本框Text2,如图所示。程序功能如下:
下面不属于软件设计阶段任务的是
编写如下程序:PrivateSubCommand1_Click()Dima(3,3)AsIntegerDimb(3,3)AsIntegerFori=1To3Forj=1To3
下面关于组合框Cb1的叙述中正确的是
对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。
在窗体上画一个文本框,其名称为Text1,为了在程序运行后隐藏该文本框,应使用的语句为( )。
确定图片框Picture1在窗体上位置的属性是( )。
某二叉树共有7个节点,其中叶子节点有1个,则该二叉树的深度为(假设根节点在第1层)()。
算法的空间复杂度是指( )。
窗体上有一个名称为Timer1的计时器控件,一个名称为Shape1的形状控件,其Shape属性值为3(Circle)。编写程序如下:PrivateSubForm_Load() Shape1.Top=0 Timer1.Interval=100
随机试题
彩色电视机中,预视放是将彩色全电视信号分三路送往()、()、()。
维持脊椎稳定的最主要韧带是()
污染的锐器必须置入
医用石蜡的熔点为
A.风寒感冒B.风热感冒C.暑湿感冒D.气虚感冒E.阴虚感冒
四神丸的组成药物中含有( )。
下列结构的药物名称是
下列属于分析性研究的是()
盈利能力监管指标不包括()。
下列选项不是洛克的道德教育的方法的是
最新回复
(
0
)