例一
program j302;
var a,b:integer;
var x,y:^integer;
procedure fun(a,b:integer);
var k:integer;
begin
k:=a;
a:=b;
b:=k;
writeln(a,',',b);
end;
begin
a:=3;
b:=6;
x:=@a;
y:=@b;
fun(x^,y^);
writeln(a,',',b);
end.
以上过程调用中是传值,数值形参。当形参被改变时,实参不变。
结果输出:
6,3
3,6
当 procedure fun(var a,b:integer); 时 传地址,称变量形参。当形参被改变时,实参也同步被改变。
输出结果:
6,3
6,3
说明:
例一中的子程序中是输出形参值,主程序中输出实参值。
浙公网安备 33010602011771号