pascal中定义了字符串S,那么length(s)和ord(s[0])都是取字符串的长度,这两者有什么区别吗?

2025-05-17 05:57:08
推荐回答(3个)
回答1:

两者没有什么区别。因为Delphi中string在内存中保存方式是:长度+字符串内容,所以指针指向的第一个地址就存放着字符串的长度。不过经过验证,在 Delphi XE2 中,Ord(s[0]) 这种取字符串长度的写法被禁止了,会产生编译错误。

回答2:

length就是取字符串长度的函数,而ord是取对应字符的asc码,只不过因为s[0]是字符串s长度的asc码吧。。。我也没用过ord这样来取长度,建议你还是使用length

回答3:

ord(s[0])不是取字符串长度吧