我在使用Delphi中的过程和字符串时遇到了问题.事实是我希望看到输出字符串"1S2S3S4S5S6S",但实际输出是"1234S5S6".在调试过程中,它表示S1,S2,S3和S6字符串变量未初始化(S1,S2,S3,S6为''字符串,S4和S5为值'S').有人可以向我解释一下吗?这是代码:
program StringTest;
{$APPTYPE CONSOLE}
procedure MyProcedure(S1: String; const S2: String; var S3: String;
S4: String; const S5: String; var S6: String;
out S7: String);
begin
S7 := '1' + S1 + '2' + S2 + '3' + S3 + '4' + S4 + '5' + S5 + '6' + S6;
end;
procedure Work;
var
S: String;
begin
S := 'S';
MyProcedure(S, S, S, S, S, S, S);
writeln(S);
end;
begin
Work;
readln;
end.
Run Code Online (Sandbox Code Playgroud)