| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 481 人关注过本帖
标题:各位大虾,帮帮我吧
只看楼主 加入收藏
whtlsy
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-6-13
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
各位大虾,帮帮我吧
大家看这个程序的输出结果与下面三个分程序的输出结果为什么不同啊,也就是说我把这个程序拆开后的输出结果与原程序不同
clear
store 10 to x
store 20 to y
set udfparms to reference
do swap with x,(y)
?x,y
swap ((x),y)
?x,y
set udfparms to value
swap ((x),y)
?x,y
procedure swap
parameters a,b
temp=a
a=b
b=temp
endproc
1、分程序1
clear
store 10 to x
store 20 to y
set udfparms to reference
do swap with x,(y)
?x,y
procedure swap
parameters a,b
temp=a
a=b
b=temp
endproc
2、分程序2
clear
store 10 to x
store 20 to y
set udfparms to reference
swap ((x),y)
?x,y
procedure swap
parameters a,b
temp=a
a=b
b=temp
endproc
3、分程序3
clear
store 10 to x
store 20 to y
set udfparms to value
swap ((x),y)
?x,y
procedure swap
parameters a,b
temp=a
a=b
b=temp
endproc
谢谢各位大虾了,麻烦给我解释一下里面的原因好吗?急求,谢谢啦
2010-06-13 09:35
pmc1234
Rank: 5Rank: 5
等 级:职业侠客
帖 子:398
专家分:383
注 册:2010-1-6
收藏
得分:10 
x用括号 括起来 什么意思
2010-06-13 10:21
whtlsy
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-6-13
收藏
得分:0 
回复 2楼 pmc1234
这是参数传递里面的内容,按值传递和按引用传递
2010-06-13 10:36
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:10 
本人理解:
  clear
  store 10 to x
  store 20 to y
  set udfparms to reference && 变量引用
  do swap with x,(y) && 其中 y为传值,y=20,.x为引用,x与y换位, x=y=20
  ?x,y
  swap ((x),y) && 因已经x=y,不论传值,引用,换位,以下过程中,两值都相等
  ?x,y
  set udfparms to value
  swap ((x),y)
  ?x,y
  procedure swap
  parameters a,b
  temp=a
  a=b
  b=temp
  endproc
  return


  1、分程序1
  clear
  store 10 to x
  store 20 to y
  set udfparms to reference && 变量引用
  do swap with x,(y)
  ?x,y && y规定为传值,y=20,换位后 x=y=20
  procedure swap
  parameters a,b
  temp=a
  a=b
   b=temp
  endproc

  2、分程序2
  clear
  store 10 to x
  store 20 to y
  set udfparms to reference
  swap ((x),y)
  ?x,y && x规定为传值,x=10,换位后 y=x=10
  procedure swap
  parameters a,b
  temp=a
  a=b
  b=temp
  endproc


  3、分程序3
  clear
  store 10 to x
  store 20 to y
  set udfparms to value && 传值
  swap ((x),y)  
  ?x,y  && x,y 均为传值,即:x=10,y=20 不受换位影响
  procedure swap
  parameters a,b
  temp=a
  a=b
  b=temp
  endproc
  
2010-06-15 22:23
快速回复:各位大虾,帮帮我吧
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036350 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved