回 帖 发 新 帖 刷新版面

主题:菜鸟求助:repeat语句的一个让我困惑的运行结果

我是个菜鸟,从来没用过units,今天小小的试验了crt的until keypressed.但执行后发
现输出的结果有正有负,正数很正常,可是怎么会有负数哪?恳请各位大侠帮帮我,不要因为问题太白痴而不理我呀.
uses
crt;
var
a:integer;
begin
a:=0;
repeat
a:=a+1;
until keypressed;
writeln('a has been added to itself ',a,' times.');
end.

回复列表 (共3个回复)

沙发

估计是a越界了

电脑的运行速度多快啊!运行一秒不知就累加了多少次了,而a是integer,最大才32767,根不能表示这么大的数.

板凳

你说的真对,我试了一下值为32768的整形变量的输出,结果输出的却是-32768.看来我以后
编写时一定要注意类型的定义域.谢谢你,+10分.

3 楼

不用谢,都要互相帮助的嘛

我来回复

您尚未登录,请登录后再回复。点此登录或注册