社区
Delphi
帖子详情
为什么结果不相同,两个字符串?
walkmangood
2011-08-01 10:01:47
大家看下面的语句,为什么结果不相同呢?
edit2.Text:='AABB3322';
if pchar(edit2.Text)<>pchar('AABB3322') then
showmessage('不相同')
else
showmessage('相同');
显示的是“不相同”,谁给解答一下。
...全文
120
11
打赏
收藏
为什么结果不相同,两个字符串?
大家看下面的语句,为什么结果不相同呢? edit2.Text:='AABB3322'; if pchar(edit2.Text)pchar('AABB3322') then showmessage('不相同') else showmessage('相同'); 显示的是“不相同”,谁给解答一下。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
walkmangood
2011-08-01
打赏
举报
回复
[Quote=引用 10 楼 richardi 的回复:]
pchar是指向CHAR型的指针 ,你用 pchar(edit2.Text)<>pchar('AABB3322')实际上比较的是2个指针,不是指针指向的值,虽然2个指针的值相同,但是他们指向的位置不同,所以你怎么比都不相同。看下面测试把地址显示出来就清楚了
procedure TForm1.btn1Click(Sender: TObject);
var p1,p2:Pointer;
be……
[/Quote]
谢谢耐心解答,:)
richardi
2011-08-01
打赏
举报
回复
pchar是指向CHAR型的指针 ,你用 pchar(edit2.Text)<>pchar('AABB3322')实际上比较的是2个指针,不是指针指向的值,虽然2个指针的值相同,但是他们指向的位置不同,所以你怎么比都不相同。看下面测试把地址显示出来就清楚了
procedure TForm1.btn1Click(Sender: TObject);
var p1,p2:Pointer;
begin
edit2.Text:='AABB3322';
p1:=pchar(edit2.Text);
p2:=pchar('AABB3322');
ShowMessage(IntToStr(Integer(p1))+' '+IntToStr(Integer(p2)));
end;
linghengmao
2011-08-01
打赏
举报
回复
樓上正解
风之谷
2011-08-01
打赏
举报
回复
PCHAR()是 个指针, = <>号 在对指针进行比较时 是比较指针地址是否一致,
五哥
2011-08-01
打赏
举报
回复
pchar 是指针 ,应该是这个的原因
yqdragon
2011-08-01
打赏
举报
回复
pchar是指针,指向不一样
曼尼叔叔
2011-08-01
打赏
举报
回复
if pchar(edit2.Text)<>pchar('AABB3322') then
edit2.text和'AABB3322'各自占用这一块内存,那么两个指针指向的地址肯定就不一样了
walkmangood
2011-08-01
打赏
举报
回复
edit2.Text:='AABB3322';
if pchar(edit2.Text)<>'AABB3322' then
showmessage('不相同')
else
showmessage('相同');
但是去掉pchar这样就相同了
纯冰糖
2011-08-01
打赏
举报
回复
pchar是以Null结束的字符串指针
林石公
2011-08-01
打赏
举报
回复
估计是成了比较两个指针了,所以不同
纯冰糖
2011-08-01
打赏
举报
回复
内存中存储形式不同
java六大必须理解的问题 文档
这段代码展示了即使
两个
字符串
包含
相同
的字符序列,但因为它们是由不同的`new String()`语句创建的,所以它们被存储在不同的内存位置,因此使用`==`比较返回`false`。然而,使用`.equals()`方法进行比较时,则会返回...
C语言 如何比较
两个
字符串
?如何在C语言中实现
字符串
的连接和复制?
一、如何比较
两个
字符串
?比较
两个
字符串
的方法取决于你使用的编程语言。以下是几种常见编程语言中比较
字符串
的方法:在中,你可以使用标准库函数strcmp()来比较
两个
字符串
。该函数接受
两个
指向
字符串
的指针作为参数...
JAVA中判断
两个
字符串
是否相等
Java中判断
字符串
是否相等 相等判断操作符 == ...如果
两个
字符串
指向不同的对象,那么它们不
相同
,使用 ==比较的结果也就是False。 通过字面赋值的时候,
相同
的
字符串
会指向同一个对象,例如: 但如果另有
算法2:判断
两个
字符串
内容是否
相同
判断
两个
字符串
的内容是否
相同
,指的是
两个
字符串
中的字符是否完全一样,顺序可以不同(也可以称之为换位
字符串
)。比如
字符串
1为”abc”,
字符串
2为”cba”,则认为这
两个
字符串
内容是一样的,再比如
字符串
1为”aba...
查询
两个
字符串
中
相同
字符
查询
两个
字符串
中
相同
字符 for 历遍第一个
字符串
的字符,过程中用 in 检测字符是否存在于第二个
字符串
中。若是在则将其添加在列表中。 一、函数文件: def intersect(seq1,seq2): #定义交集函数,函数名及变量 res=...
Delphi
5,928
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章