所以我在Pascal中有这个简单的程序,它始于:
type
arrayy=array[1..10] of integer;
var
arr:arrayy;
然后我用arr作为参数写了一个简短的程序(让我们称之为proc)。在程序中,arr被更改。
然后,在代码的主要部分我有这样的东西:
-print arr
-proc(ARR)
-print arr
阵列完全没有变化,尽管如此。在我之前的程序中,当我遇到这个问题时,我只是将命令打印到程序中的数组,但现在我不能这样做。 我试过这样做:
procedure proc(var arr)
然后数组完全不同于它应该是的,好像它是一个新的。
是的,有人可以帮帮我吗?如何在代码的主要部分中打印更改的数组?答案 0 :(得分:1)
program ChangeArrayExample;
{ Free Pascal Compiler }
type
IntArray = array[1..5] of integer;
var
MyIntArray : IntArray;
I : integer;
procedure MyProc(var MyIntArray : IntArray);
begin
for I := Low(MyIntArray) to High(MyIntArray) do
MyIntArray[I] := 2 * I;
end;
begin
for I := Low(MyIntArray) to High(MyIntArray) do
begin
MyIntArray[I] := I;
Writeln(MyIntArray[I]);
end;
MyProc(MyIntArray);
Writeln();
for I := Low(MyIntArray) to High(MyIntArray) do
Writeln(MyIntArray[I]);
end.
之前的阵列:1 2 3 4 5
数组之后:2 4 6 8 10
我不确定我是否理解您的问题,所以请发布您的完整代码。