此pascal语法有什么问题?–导致编译器错误

问题描述 投票:0回答:1

我非常疲倦,无法找到此代码的错误。问题的关键在于我的编译器不断返回错误:

Fatal: Syntax error, ; expected, but identifier ID found

这是唯一的错误,导致它无法运行。我的代码很简单。它一直期待我在尝试读取数组ID的分号。我以为是因为我错误地声明了数组,所以我检查了一下,确定可以吗?

然后我以为'n'不在计数,所以我从重复开始切换到for循环。同样的问题。 任何人可以看到问题所在,因为我绝对不能:(

以下代码:

program enteridentification;
uses
    crt;
var
   name:array[1..40] of string;
    ID:array[1..40] of string;
    grade_level:array[1..40] of string;
    initial_fee:array[1..40] of real;
    final_fee:array[1..40] of real;
n, count:integer;
begin
    n:=1;
    count:=1;
    FOR n:= 1 to 2 DO
        begin
         writeln ('Record No:',count);
         writeln ('Enter your ID number. Remember it is in the format XX19PPP.');
         writeln(' XX - first and last name initial. 19 - graduation year (constant). XXX - order in register (001, 002, 003 etc.)');
         readln ID[n];
         end;
end.
compiler-errors syntax-error pascal
1个回答
0
投票

'readln'行应在ID [n]周围带有方括号-这是您要传递给readln过程的参数。

readln (ID[n]);

[每当您太累而无法编程时:改天睡觉,看看程序。

© www.soinside.com 2019 - 2024. All rights reserved.