我刚才就是把Sizeof和Lenght搞错啦!
Sizeof 是 Returns the number of bytes occupied by a variable or type.

Sizeof(8) 为 1 
Sizeof(Integer)为4
Sizeof(String) 为 4S:string;
S:='hahaha';
length(S)为6
而Sizeof(S)仍为 4

解决方案 »

  1.   

    S是指向字符串内容的指针变量,占四个字节。
    所以SizeOf(S)返回4。
    LengthOf(S)才返回S的内容长度。
    Pascal的巨型字符串隐藏了许多细节。
      

  2.   

    判断字符串长度是应该用length的,sizeof是用来判断一个动态分配的内存块所占的字节数的。
    比如用sizeof判断一个动态数组的大小。
    sizeof(string)是判断string这种数据类型分配的字节数,integer等同理。
      

  3.   

    是的,两个不一个。length(a)与integer(a[0])有一样的作用,返回字符数。而sizeof(a)会多1,因为它算a[0]