单击命令按钮时,下列程序的执行结果为Private Sub Command1_Click() Dim x As Integer,y As Integer x=12:y=32 Call Proc(x,y) Print x;yEnd S

admin2009-01-15  23

问题 单击命令按钮时,下列程序的执行结果为Private Sub Command1_Click()    Dim x As Integer,y As Integer    x=12:y=32    Call Proc(x,y)    Print x;yEnd SubPublic Sub Proc(n As Integer,ByVal m As Integer)    n=n Mod 10    m=m Mod 10End Sub

选项 A、12  32
B、2  32
C、2  3
D、12  3

答案2

解析 此题是函数过程的调用。
  在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在Visual Basic中,实参与形参的结合有两种方式:即传址与传值。这两种方法的特点如下:
  传址的结合过程是,当调用一个过程时,它将实参的地址传给形参,因此在被调用的过程中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。
  传值的结合过程时:当调用一个过程时,系统将实参的值赋值给形参并断开了联系,被调用过程中的操作时在形参自己的存储单元中进行的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,因此在过程中对形参的任何操作不会影响实参。而题中被调过程Proc中有两个形参,其中第一个形参n为传址方式,第二个形参m为传值方式。主调过程分别把实参x、y传递给Proc,所以当过程调用结束后,实参x的值应随着被调过程变化而变化,而实参y值在主调函数中始终不变,所以输出y的值仍为32;在被调过程中“n=n Mod l0”被调用时,相当于“x=x Mod l0”,所有x的值最终为2,最后输出结果如选项@B@所示。
转载请注明原文地址:https://kaotiyun.com/show/JZ2p777K
0

最新回复(0)