我们有三个程序和程序。
在 proc01 中:
output: a=22
在 proc02 中:
output: a=16 b=2 c=5
在 proc03 中:
output: a=5
proc01 和 03 相同。除了我们改了程序参数为什么在proc01的“d”值加了,但是在proc03,没有。
proc02 是另一个示例。未添加“d”值。
为什么????
过程01:
program proc01;
var
a,b:integer;
procedure test01(var a:integer;b:integer);
var
d:integer;
Begin
d:=12;
a:=b+d;
End;
Begin
a:=5;
b:=10;
test01(a,b);
Writeln('a=',a);
Readln;
End.
过程02:
program proc02;
var
a,b,c:integer;
procedure test01(var b:integer; a:integer);
var
d:integer;
Begin
d:=12;
a:=b+d;
b:=a+c;
c:=c+2;
End;
Begin
a:=1;
b:=2;
c:=3;
test01(a,b);
Writeln('a=',a,' b=',b,' c=',c);
Readln;
End.
过程03:
program proc03;
var
a,b:integer;
procedure test01(var b:integer;a:integer);
var
d:integer;
Begin
d:=12;
a:=b+d;
End;
Begin
a:=5;
b:=10;
test01(a,b);
Writeln('a=',a);
Readln;
End.