问题 单项选择题

下列程序段执行以后,内存变量A和B的值是
CLEAR

A=10
B=20
SET UDFPARMS TO REFERENCE
DO SQ WITH(A), B
A,B
PROCEDURE SQ
PARAMETERS X1, Y1
X1=X1*X1
Y1=2*X1
ENDPROCA) 10 200
B) 100 200
C) 100 20
D) 10 20

答案

参考答案:A

解析: Visual FoxPro的参数传递规则为:如果实际参数是常数或表达式则传值;如果实际参数是变量则传址,即传递的不是实参变量的值而是实参变量的地址。这样,过程中对形参变量值的改变也将使实参变量值改变。如果实参是内存变量而又希望进行值传递,可以用圆括号将该内存变量括起来,强制该变量以值方式传递数据。题目中参数A按值传递,参数B按引用传递。

单项选择题
单项选择题