pascal 交换两个变量的函数和过程分别怎么写?

来源:百度知道 编辑:UC知道 时间:2024/06/12 04:17:01
有个程序总要交换变量,用函数和过程应该快一些
也想顺便知道函数和过程的区别

用一个临时变量过度,例:交换a和b

var a,b:integer;
tmp:integer;
begin
read(a,b);
tmp:=a;a:=b;b:=tmp;
writeln(a,' ',b);
end.

过程:
procedure exchangeVal(var a,b:longint);
var tmp:longint;
begin
tmp:=a;
a:=b;
b:=tmp;
end;

使用的时候直接调用:changeVal(x,y);

这个用函数写的效果和过程是一样的。只是把开头的procedure exchangeVal(var a,b:longint); 改成function exchangeVal(var a,b:longint):boolean; 。

函数和过程的区别就是函数可以返回值,但是这里不需要返回值。

var a,b,t;
if a>b then
t:=a;
a:=b;
b:=t;
write(a,b);