紧急求救!!!关于PASCAL语言的字符串的问题!!

来源:百度知道 编辑:UC知道 时间:2024/07/15 17:41:02
我有以下程序:
program sss;
var s1,s2:string;
i,k:integer;
begin
readln(s1);
k:=length(s1);
for i:=1 to k do
s2[i]:=s1[k-i+1];
writeln(s2);
end.
但是S2打不出来了!!
也就是说S2已经不是字符串,这是怎么回事??
怎么把S2变成一个字符串???因为我要用到VAL(S2,i,code),必须S2是字符串!!帮个忙!!

更简单一些,字符串的操作不用那么麻烦,因为字符串有很强大的函数方程体系;
program sss;
var s1,s2:string;
i,k:integer;
begin
readln(s1);
k:=length(s1);
for i:=1 to k do
s2:=s2+s1[k-i+1];
writeln(s2);
end.
这样就可以了。

对于字符串,在0位中存有其长度,上面的程序虽然改变了其他字母,但是0中存有的长度仍然为0,可以这样改
program sss;
var s1,s2:string;
i,k:integer;
begin
readln(s1);
k:=length(s1);
s2[0]:=chr(k);//改变其长度
for i:=1 to k do
s2[i]:=s1[k-i+1];
writeln(s2);
end.

将s2[i]:=s1[k-i+1]单字符处理改为:
insert(copy(s1,k-i+1,1),s2,i)
应该可以实现