中易网

vfp 中数据传递有两种方式,一种是使用参数传递,还有一种是使用变量传递。请各位演示下怎么用变量传递

答案:1  悬赏:0  
解决时间 2021-03-06 20:15
vfp 中数据传递有两种方式,一种是使用参数传递,还有一种是使用变量传递。请各位演示下怎么用变量传递
最佳答案
首先更正一下你的问题,两种传递分别是按值传递和按引用传递,也就是说一种传递的是值(即一个常量),另一种传递的是变量本身(即变量在内存中的开始地址)。
例:
clear
stor 50 to x1,x2
set upfparms to value
do sub1 with x1,(x2)   &&x1是引用传递,(x2)值传递
?x1,x2
x1=50
x2=50
sub1(x1,(x2))   &&x1和(x2)均是按值传递
?x1,x2
set udfparms to reference
do sub1 with x1,(x2)   &&x1是引用传递,(x2)值传递
?x1,x2
x1=50
x2=50
sub1(x1,(x2))   &&x1是引用传递,(x2)值传递
?x1,x2
return


*sub1.prg
parameters a,b
a=a+5
b=b+2
return


原理如下:
当使用括号将变量名括起来的时候,如(x2)的 ,它是个表达式,与x1+x2、3*x1的概念一样,所以先计算值,然后传递这个值,所以肯定是值传递。
当使用do sub1 with x1,(x2) 这种格式时,x1一定是按引用传递,不管set udfparms是value还是reference,即这种格式下默认是引用传递,不理udfparms的设置。
当使用sub(x1,(x2))时,若set udfparms设置的是value,则x1是按值传递,若set udfparms设置的是reference,则x1是按引用传递。
而(x2)总是值传递。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
华为电信手机有办法使用联通的卡吗
利圆商店这个地址在什么地方,我要处理点事
电话卡欠费了,想交钱,但是卡丢了,怎么办?
心灵侦探八云小说结局
大话西游2 怎么下载安装
我平时怀疑月经干净不了就喝益母草,上月在经
佛静轩这个地址在什么地方,我要处理点事
美团上定宾馆,我十八岁生日才过,九七年的人
东方project经常闪退怎么办
我这台电脑可以玩《龙珠:超宇宙》电脑版的吗
战舰少女3-4之前敌军什么地方有战列
固定化细胞的特点
布艺家居十大品牌有哪些
金逸影城桂林心连心店地址在什么地方,想过去
梦见祖神位着火是烧香引起的,反正就记得着火
推荐资讯
物联网工程专业包含JAVA语言学习吗?
我想起一个情侣网名 名字里一定要带上娇 华
文森特说的丫头是谁?
昆仑决挑战播求的中国选手都有谁
上面一个廘下面一个金是什么字
So far, several ships have been reported m
我的电脑开机后就在锁屏界面,进不了主屏幕,
0.9乘括号7.5减6.8的简便计算方法是
长跑800米的方法
企业一般环境包括哪些要素
五行缺了两三行是不是命就不好
乌兰干嘎地址在什么地方,想过去办事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?