柠檬试题库
search
首页
计算机
公务员
驾照
关于
share
假定有以下两个过程: Sub s1(ByVal x As Integer,ByVal y As Integer) Dim t As Integer t=x x=y y=t End Sub Sub S2(x As Integer,y As Integer) Dim t As Integer t=x:x=y:y=t End Sub 下列说法正确的是( )。
A.用过程S1可以实现交换两个变量的值的操作,S2不能实现
B.用过程S2可以实现交换两个变量的值的操作,S1不能实现
C.用过程S1和S2都可以实现交换两个变量的值的操作
D.用过程S1和S2都不可以实现交换两个变量的值的操作
热度🔥564
参考答案:B
解析:
【解析】VBA中定义过程时如果省略传值方式则默认为按地址传递,过程S2中省略了参数传递方式说明,因此,参数将按传址调用,而过程S1由于声明为按值传递(ByVal)所以会按传值调用参数。而在过程调用时,如果按传值调用,实参只是把值传给了形参,在过程内部对形参值进行改变不会影响实参变量,按址调用却不同,这种方式是把实参的地址传给了形参,在过程中对形参值进行改变也会影响实参的值。因此,过程S2能够交换两个变量的值,而S1不能实现。
复制题目向AI提问
content_copy
content_copy
扫码免费计算机二级刷题
2025年计算机等级考试题库
推荐
在C语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。
有以下程序 #include typedef struct stu { char name[10]; char gender; int score; } STU; void f(STU *a, STU *b) { *b = *a; printf("%s,%c,%d,", b->name, b->gender, b->score); } main() { STU a={"Zhao", 'm', 290}, b={"Qian", 'f', 350}; f(&a,&b); printf("%s,%c,%d\n", b.name, b.gender, b.score); } 程序的运行结果是
在Visual FoxPro中,数据库表字段的有效性规则的设置可以在( )。
在关系模型中,每一个二维表称为一个( )。
标签
二级ACCESS
过程
s2
s1
实现