标题:又一个看不懂的问题
只看楼主
crazyindance
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-6-8
 问题点数:0 回复次数:2 
又一个看不懂的问题

以下是一个包含过程和参数传递的程序。过程的功能是计算长方形的面积。

CLEAR

L=8

W=10

面积=0

@10,10 SAY "矩形的度为:"+STR(L,2)

@11,10 SAY "矩形的宽为:"+STR(W,2)

DO QMJ WITH L,W,面积

@12,10 SAY "矩形的面积为:"+STR(面积,4)

DO QMJ WITH (L),(W),面积

@13,10 SAY "矩形的度为:"+STR (L,2)

@14,10 SAY "矩形的宽为:"+STR(W,2)

@15,10 SAY "矩形的面积为:"+STR(面积,4)

PROCEDURE QMJ

PARAMETERS X,Y,A

A=X*X

X=X+8

Y=Y+10

ENDPROC

问题是:为什么第一次求面积的长宽要在调用QMJ的过程前输出,而在第二次求面积的长和宽却可以在调用QMJ的过程后输出?

搜索更多相关主题的帖子: face 长方形 
2006-06-08 18:00
blueblood
Rank: 2
等 级:新手上路
威 望:4
帖 子:135
专家分:0
注 册:2006-4-2
得分:0 
在"DO QMJ WITH L,W,面积"中,“L,W,面积”传递到“PARAMETERS X,Y,A”的是三变量的地址,因此对X,Y,A的操作,就是对,“L,W,面积”的操作。因此,L,W的输出如在QM之后,L,W的值就不是8和10了!
而在“DO QMJ WITH (L),(W),面积”中,“(L),(W),”传递给“X,Y”的是这两变量的值,因此在QM中,对X,Y的任何操作对L,W没有影响,因此L,W的输出放在后面也没有影响!
2006-06-08 18:43
crazyindance
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-6-8
得分:0 
谢谢

2006-06-09 09:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-70668-1-1.html




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

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