【发布时间】:2021-03-08 03:08:08
【问题描述】:
我还是一个初学者,所以如果是愚蠢的错误或什么,请原谅我。 我想编写一个程序来生成从 2 到 n 的素数,并且 n 是用户定义的。由于我在程序开始时不知道 n,所以我想在之后构造一个动态数组和 setlength(n)。这是我的代码的 sn-p:
program D401;
type
arr = array of int64;
var
x : int64;
a : arr;
begin
readln(x);
setlength(a, x);
end.
但它不起作用,它说: 致命:语法错误,[ 预期但 OF 发现
我也试过这个:
program D401;
var
x : int64;
a : array of int64;
begin
readln(x);
setlength(a, x);
end.
但它也会产生同样的错误。我也使用了 freepascal 和 GNU pascal,但它也不起作用。是dev-pascal的问题还是没有更新什么的?
提前致谢。
【问题讨论】:
-
您的程序看起来有效。使用什么版本的fpc?
-
您是否正在使用当前的 FreePascal?如果不接受此语法,您可能使用的是非常古老的 FreePascal 或其他 Pascal 方言。
-
我可以想象 GNU Pascal 不接受这种语法。据我所知,内置动态数组只是 Delphi 和 FreePascal 的东西。
-
我删除了 freepascal 标签。该问题询问有关 devpascal 的问题。
-
@David Dev-Pascal 只是使用 freepascal (fpc) 或 gpc 编译器的 IDE,所以错误原因与编译器有关
标签: pascal