procedure TForm1.Button1Click(Sender: TObject);
var p:pchar;
p1:pchar;
s:string;
s1:string;
begin
p:=strlower(pchar(copy('xxx',1,1)+'xx'));
p1:='xxx';
if p=p1 then
showmessage('p与p1相同')
else
showmessage('p与p1不同');
s:=p;
s1:=p1;
if s=s1 then
showmessage('s与s1相同')
else
showmessage('s与s1不同');end;运行结果是“p与p1不同”,“s与s1相同”
各位前辈帮帮我吧。
var p:pchar;
p1:pchar;
s:string;
s1:string;
begin
p:=strlower(pchar(copy('xxx',1,1)+'xx'));
p1:='xxx';
if p=p1 then
showmessage('p与p1相同')
else
showmessage('p与p1不同');
s:=p;
s1:=p1;
if s=s1 then
showmessage('s与s1相同')
else
showmessage('s与s1不同');end;运行结果是“p与p1不同”,“s与s1相同”
各位前辈帮帮我吧。
而字符串是否相等只比较字符串的内容。
showmessage('p与p1相同')
else
showmessage('p与p1不同');
s:=p;
Pchar比较哪有用p=p1的?楼主好好看看基础书吧
p1:pchar;
s:string;
s1:string;
begin
p:=strlower(pchar(copy('xxx',1,1)+'xx'));
p1:='xxx';
if p=p1 then
showmessage('p与p1相同')
else
showmessage('p与p1不同');
if p^=p1^ then
showmessage('p^与p1^相同')
else
showmessage('p^与p1^不同'); s:=p;
s1:=p1;
if s=s1 then
showmessage('s与s1相同')
else
showmessage('s与s1不同');end;执行一下上面的代码就会明白一些. 指针类型在比较的时候是比它所指向的地址的. 数字,字符串在比较的时候比的是具体的值.
a:String;
b:String;
a:=strlower(pchar(copy('xxx',1,1)+'xx'));
b:='xxx';
p:=@a;
p1:=@b;
a和b是两个不同的变量,在计算机中存储的地址不同
指针存放它所指向变量的地址,所以p与p1是不同的。s与s1内容相同,没什么好说的