【发布时间】:2022-07-08 02:20:48
【问题描述】:
我刚开始学习帕斯卡。我编写了一个程序,要求用户插入任何整数,并确定这些数字中的最小值。
我当前的代码:
program Minimum (input, output);
var
Eingabe,
KleinsteZahl: Integer;
begin
writeln(\'Please enter a number.\');
if eof then
writeln(\'No number was entered.\')
else
begin
readln(Eingabe);
KleinsteZahl := Eingabe;
while not eof do
begin
writeln(\'Please enter a number.\');
readln(Eingabe);
if Eingabe < KleinsteZahl then
KleinsteZahl := Eingabe
end;
writeln(\'The smallest number entered is: \', KleinsteZahl);
end;
end.
当我运行程序时,这就是可能的输入/输出的样子。
Please enter a number.
1
2
Please enter a number.
3
Please enter a number.
The smallest number entered is: 1
我只是不明白,为什么 1 和 2 之间没有文本输出。程序确实接受所有数据,但它只是跳过了一个 writeln() 语句。
如果有人可以帮助我理解为什么会发生这种情况,我将非常感激!
-
您的
if eof then块没用,您可以删除这些行。 -
您已经拥有 Object Pascal 手册的副本了吗?您可以从 Delphi 文件夹中的github.com/coderserdar/Documents 获取它
-
您可以在调试器中运行您的程序并单步执行它,看看会发生什么。这样你就不必猜测了。
-
@AmigoJack docwiki.embarcadero.com/RADStudio/en/…:\"在标准 Pascal 中,程序标题可以在程序名称之后包含参数:
program Calc(input, output);Embarcadero\'s Delphi 忽略这些参数。\"