两者没有什么区别。因为Delphi中string在内存中保存方式是:长度+字符串内容,所以指针指向的第一个地址就存放着字符串的长度。不过经过验证,在 Delphi XE2 中,Ord(s[0]) 这种取字符串长度的写法被禁止了,会产生编译错误。
length就是取字符串长度的函数,而ord是取对应字符的asc码,只不过因为s[0]是字符串s长度的asc码吧。。。我也没用过ord这样来取长度,建议你还是使用length
ord(s[0])不是取字符串长度吧