15
例6:
SET TALK OFF V1=100 V2=150 DO P ?V1,V2
&& 显示100 1000
PROCEDURE P
PRIVATE V1
V1=500
V2=1000
?V1,V2
&& 显示500 1000
RETURN 16
例7:
clear public x private y,k x=1 y=2 do sub6 ?"x=",x,"y=",y && 显示3 2 k=3 do sub7 ?"y=",y,"k=",k && 显示10 5
的表达式,系统会计算出实参的值,并把它们赋给 相应的形参变量,称为按值传递。如果实参是变量, 则传递的将不是变量的值,而是变量的地址。
6
采用2调用模块程序时,默认情况下是以按“值”方 式传递参数。如果实参是变量,可以利用SET UDFPARMS命令重新设置参数传递的方式。
如果给实参变量加上(),则强制使用值传递。
clear input "m=" to m input "n=" to n c=fac(m)/
(fac(n)*fac(m-n)) ?c return
function fac para x p=1 for k=2 to x
p=p*k next return p
10
例5:定义一个求3个数 中最大数的自定义函数, 并利用该函数求5个数中 最大数。
function getmax para x,y,z if x>y
m=x
input "a=" to a