这是一本书中的示例程序。我不能停止"而不是eof"环。我试图插入程序"使用crt;"," const CheckEof:boolean = true"并按" ctrl + Z"在跑步时,它不起作用。
Program P123;
uses crt; {My insertion}
type Adresacelula=^Celula;
Celula=record
Info:string;
Urm: AdresaCelula;
end;
var P, Q, R: AdresaCelula;
s:string;
i: integer;
const CheckEOF: boolean=true; {My insertion}
Procedure Create;
begin
p:=nil;
write ('s='); readln (s);
new (r); r^.Info:=s; r^.Urm:=nil;
p:=r; q:=r;
write ('s=');
while not eof do {Here is the loop i need to stop}
begin
readln (s); write ('s=');
new (r); r^.Info:=s; r^.Urm:=nil;
q^.Urm:=r; q:=r;
end;
end;
Procedure Display;
begin
r:=p;
while r<>nil do
begin
writeln (r^.Info);
r:=r^.Urm;
end;
readln;
end;
begin
Create;
Display;
end.
答案 0 :(得分:0)
要使示例正常工作,请删除行
const CheckEOF: boolean=true; {My insertion}
并在主程序中的CheckEOF:=true;
调用之前插入Create;
。然后,当您按Ctrl-Z时程序终止。
您的代码声明了一个新变量CheckEOF
,而您可能希望更改CheckEOF
单位的crt
。