下列程序段执行以后,内存变量X和Y的值是(  )。 CLEAR STORE 3 TO X STORE 5 TO Y PLUS((X),Y) ? X,Y PROCEDURE PLUS PARAMETERS A1,A2      A1=A1+A2      A

admin2013-11-28  32

问题 下列程序段执行以后,内存变量X和Y的值是(  )。
CLEAR
STORE 3 TO X
STORE 5 TO Y
PLUS((X),Y)
? X,Y
PROCEDURE PLUS
PARAMETERS A1,A2
     A1=A1+A2
     A2=A1+A2
ENDPROC

选项 A、8   13
B、3    13
C、3    5
D、8    5

答案C

解析 参数传递有按值传递和按引用传递两种方式,按值传递时,形参变量值的改变不会影响实参变量的取值;按引用传递时,当形参变量值改变时,实参变量值也随之改变。
模块的调用格式有两种:
格式1:使用DO命令,格式为DO <文件名>︱<过程名>。
格式2:在文件名或过程名后面加一对小括号,格式为<文件名>︱<过程名>(),括号中包括若干个实参变量。
本题采用的是利用格式2的方式调用模块程序,采用格式2调用模块程序时,默认情况下都以按值方式传递参数。如果实参是变量,可以通过SET UDFPARMS命令重新设置参数传递的方式,但是,需要注意的是,不论是设置何种传递方式,凡是用一对圆括号将一个变量括起来使其变成一般形式的表达式,总是按值传递,它不受SET UDFPARMS值的设置影响。本题中X和Y都是按值传递,形参值的变化不会影响到实参值,所以程序段执行以后X值等于3,Y值等于5。
转载请注明原文地址:https://kaotiyun.com/show/bYop777K
0

最新回复(0)