delphi一段小程序

来源:百度知道 编辑:UC知道 时间:2024/09/21 15:38:33
var
letter:char;
i:integer;
begin
letter:=high(letter);
for i:=1 to 66 do
inc(letter);
label1.Caption :=letter;
end;
最后输出A
请问letter:=high(letter);这句话是什么意思?

首先声明,不清楚这段代码的目的。
但是可以知道 high( letter ) 返回的是数组的长度。由于 letter 是char 型,是空数组。它返回的是 -1。其作用等于 letter=char(-1)。
这样使自增循环后,letter 的值为 65 ,而不是66。
所以输出的是A (65) 而不是B (66)。

楼下的,多谢纠正。

楼上说错了.
letter:=high(letter);
letter返回应该是char(255);
因为char 是 非负的.所以不能为-1,因为最高位不是符号位.
然后你+1,就是0了,然后在+65,输出应该char(65)