Dynamic arrays(50分)

D

dohye

Unregistered / Unconfirmed
GUEST, unregistred user!
请问procedure sum(var a:array of integer);
怎么引用?
 
G

glassguo

Unregistered / Unconfirmed
GUEST, unregistred user!
什么叫引用?
外部调用的时候,直接用sum([1,2,3,4,]);或者sum(a);
a:array[0..x] of integer;
在sum里面,可以
for i:=0 to high(a) do inc(s,a);
 
J

jghuang

Unregistered / Unconfirmed
GUEST, unregistred user!
是指在use 中加math 吗?
 
D

dohye

Unregistered / Unconfirmed
GUEST, unregistred user!
我用sum([3,4,5]);调用,但delphi 提示Constant object
cannot be passed as var parameter.如果参数定义为
const a:array of integer 就行了。
 
Z

zhaoyipeng

Unregistered / Unconfirmed
GUEST, unregistred user!
首先请注意var是用来说明你要传递的是可以被修改的参数,既变参,它必须是实际的
数组,不能是立即数,因此象sum([3,4,5]);这样的调用当然是不对的。
如果你要传递的是不可修改的数组参数,最好用CONST修饰,这样可以得到效率较高
的执行代码。
 
D

dohye

Unregistered / Unconfirmed
GUEST, unregistred user!
如果是变参,怎么调用呢?
 
Z

zhaoyipeng

Unregistered / Unconfirmed
GUEST, unregistred user!
不知这个程序你是否满意
var
aa: array of Integer;
I: Integer;
begin
SetLength(aa, 10);
Sum(aa);
for I:=Low(aa) to High(aa) do
WriteLn(aa);
end;

procedure Sum(var a: array of Integer);
var
I: Integer;
begin
for I:=Low(a) to High(a) do
a := I;
end;
 
R

redforks

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure sum(var a:array of integer);的具体内容是什么?
是求和吗?结果放在哪儿?
 
H

huizhang

Unregistered / Unconfirmed
GUEST, unregistred user!
sum应该是一个函数才对,怎么成了Procedure了
 
D

dohye

Unregistered / Unconfirmed
GUEST, unregistred user!
多人接受答案了。
 

Similar threads

I
回复
0
查看
557
import
I
S
回复
0
查看
787
SUNSTONE的Delphi笔记
S
S
回复
0
查看
790
SUNSTONE的Delphi笔记
S
顶部