我做了一个程序,在该程序中键入一个字符串,然后将该字符串附加到文件中。这将重复循环,直到用户输入"结束"。我已经声明了一个if循环。如果变量为"end",则循环停止。这是正确的。问题是"结束"一词也被添加到文件中
x:=0;
repeat
writeln('Enter game. Enter "end" to stop');
readln(game);
if game <> 'end' then
x := x + 1 ;
writeln(filevar,' ',game);
until game = 'end' ;
close(filevar);
程序难道不应该跳过"如果"部分作为game="结束"吗?
您的if
作用域错误。
if game <> 'end' then
x := x + 1 ;
writeln(filevar,' ',game);
相当于:
if game <> 'end' then
begin
x := x + 1 ;
end
writeln(filevar,' ',game);
你想要
if game <> 'end' then
begin
x := x + 1 ;
writeln(filevar,' ',game);
end