Pascal:致命语法错误
Pascal : fatal syntax error
尝试在 Pascal 中执行加泰罗尼亚数字,但出现致命语法错误。
错误是:
Fatal: Syntax error, ";" expected but "identifier B" found
Error: /usr/bin/ppcx64 returned an error exitcode
这是参考码
program main;
var
i,buf: integer;
function catalan(num: integer): integer;
var
sample, returnval : integer;
function bincoeff(n: integer): integer;
var
a,b,retval,numr,denom1,denom2: integer;
bc : integer;
function fact(x: integer): integer;
begin
// fact exec
if x=0 then
fact :=1
else
fact := x* fact(x-1);
end;
begin
//bincoeff exec
a := 2*n
b := n
if a==b then
retval :=1
else if b>a
retval :=0
else
numr := fact(a)
denom1 := fact(b)
denom2 := fact(a-b)
bc := numr /(denom1*denom2)
retval := bc
end;
begin
// catalan exec
sample :=bincoeff(num)
returnval := (sample/(num+1))
end;
begin
for i :=0 to 9 do
begin
buf := catalan(i)
writeln(buf)
end;
end.
开始于
a := 2*n
直到程序结束,您系统地不使用“;”。顺便说一句,编译器非常清楚地表明了这一事实。
在这种情况下,访问 the FreePascal wiki on the topic of the semicolon 可能会很有趣,它指出了 C 和 Pascal 使用分号(分隔符与终止符)之间的重要区别。必读。
尝试在 Pascal 中执行加泰罗尼亚数字,但出现致命语法错误。
错误是:
Fatal: Syntax error, ";" expected but "identifier B" found
Error: /usr/bin/ppcx64 returned an error exitcode
这是参考码
program main;
var
i,buf: integer;
function catalan(num: integer): integer;
var
sample, returnval : integer;
function bincoeff(n: integer): integer;
var
a,b,retval,numr,denom1,denom2: integer;
bc : integer;
function fact(x: integer): integer;
begin
// fact exec
if x=0 then
fact :=1
else
fact := x* fact(x-1);
end;
begin
//bincoeff exec
a := 2*n
b := n
if a==b then
retval :=1
else if b>a
retval :=0
else
numr := fact(a)
denom1 := fact(b)
denom2 := fact(a-b)
bc := numr /(denom1*denom2)
retval := bc
end;
begin
// catalan exec
sample :=bincoeff(num)
returnval := (sample/(num+1))
end;
begin
for i :=0 to 9 do
begin
buf := catalan(i)
writeln(buf)
end;
end.
开始于
a := 2*n
直到程序结束,您系统地不使用“;”。顺便说一句,编译器非常清楚地表明了这一事实。
在这种情况下,访问 the FreePascal wiki on the topic of the semicolon 可能会很有趣,它指出了 C 和 Pascal 使用分号(分隔符与终止符)之间的重要区别。必读。