所以我有2个字符串,我希望能够说出2个字符串是否相同。唯一的问题是我使用一段时间将字符串1字符填充1,所以如果我使用length / ord它不能正常工作。我想如果你看到我正在使用的代码将有一个更容易帮助我的代码,所以我只是将它粘贴在这里。
var
cad1, cad2: string;
car: char;
icad1, icad2: integer;
begin
car := 'o';
icad1 := 1;
icad2 := 1;
write('Write the cad1: ');
while (car<>'.') do begin
car := readkey;
cad1 := car;
write(car);
inc(icad1);
end;
car := 'o';
writeln;
write('Write thecad2: ');
while (car <> '.') do begin
car := readkey;
cad2 := car;
write(car);
inc(icad2);
end;
writeln;
end.
答案 0 :(得分:2)
您必须这样做:
CompareText(cad1, cad2)
如果两个字符串相同,它将返回0。
http://www.freepascal.org/docs-html/rtl/sysutils/comparetext.html
答案 1 :(得分:0)
您的代码中存在几个问题。例如:行cad1:=car;
将字符分配给字符串。这意味着结果字符串只包含一个等于car的字符。以前的所有输入都会丢失。
输入字符串并进行比较的最简单方法如下:
write('Write the cad1: ');
readln(cad1);
write('Write thecad2: ');
readln(cad2);
write(cad1=cad2);
readln;