编译原理速成,参数传递之传名,传地址,得结果,传值(四)_哔哩哔哩_bilibili
学习自上面的文章。
题目1:
(1)传名。
(2)传地址。(注意观察,A+B变成了临时变量T1,而在传名过程中,A+B仍是A+B)
(3)得结果。
先得到对应的x,y,z的值,再计算得到新的x,y,z的值,再把值送回原来的对应的空间(如Z的值送回给A)。
(4)传值。(与原来的值一样)
A=3
我学习她的方法,写的解题步骤。
题目2:
例题4:
对于下面程序段
program test (input, output)
var i, j: integer;
procedure CAL(x, y: integer);
begin
y:=y*y; x:=x-y; y:=y-x
end;
begin
i:=2; j:=3; CAL(i, j)
writeln(j)
end.
若参数传递的方法分别为(1)传值、(2)传地址,(3)传名,请写出程序执行的输出结果。