Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pascal:致命语法错误_Pascal - Fatal编程技术网

Pascal:致命语法错误

Pascal:致命语法错误,pascal,Pascal,试图在Pascal中执行catalan数字,但出现致命语法错误 错误是: Fatal: Syntax error, ";" expected but "identifier B" found Error: /usr/bin/ppcx64 returned an error exitcode 这是ref代码 program main; var i,buf: integer; function catalan(num: integer): integer; var sample, ret

试图在Pascal中执行catalan数字,但出现致命语法错误

错误是:

Fatal: Syntax error, ";" expected but "identifier B" found 
Error: /usr/bin/ppcx64 returned an error exitcode
这是ref代码

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
在程序结束之前,系统地不使用“;”。一个事实,顺便说一下,编译器非常清楚地表示了这一点


在这种情况下,我们可能会感兴趣地访问它,它指出了C和Pascal使用分号(分隔符和终止符)之间的一个重要区别。必须阅读。

谢谢!有用的建议!您是否知道fpc在您复制错误消息之前打印的数字(在本例中为(27,2))是的!现在我更正了所有语法问题。但是参数没有按预期传递。我将更新我的代码!谢谢!如果您遇到进一步的逻辑类型错误,我建议打开一个新问题。这个问题已经达到了目的,并且在一个问题中混合了两个级别的问题s不赞成这样做。但是,在你问一个与逻辑问题有关的问题之前,请务必阅读。谢谢!我将打开一个新问题!这个问题已经解决了!除了其他注释和答案之外,
=
在Pascal中不是有效的运算符。比较是与
=
进行的。你必须确实使用
作为语句之间的分隔符。