下列程序段执行以后,内存变量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 +A

admin2016-08-23  35

问题 下列程序段执行以后,内存变量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、85

答案C

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

最新回复(0)