//以上会输出Hello,因为方法ChangeS其实是创建了一个新的A,
//而输出的还是原来的s,值并没有改变
var
s: string;
procedure ChangeSVar(A: string);
begin
A := A + 'World';
end;
begin
s := 'Hello ';
ChangeSVar(s);
writeln(s);
readln;
end.
//以上会输出Hello W,因为采用函数,函数的返回是连接好的字符串,
var
s: string;
function ChangeSVar(A: string): string;
begin
A := A + 'World';
result := A;
end;
begin
s := 'Hello ';
writeln(ChangeSVar(s));
readln;
end.
文章对比了Delphi中过程`ChangeSVar`和函数`ChangeSVar`对字符串变量`s`的操作。过程改变变量值但不返回新值,导致输出原字符串;而函数返回连接的新字符串,所以输出HelloWorld。
1029

被折叠的 条评论
为什么被折叠?



