Syntax 在“我的代码”中找不到错误;;“预期”;

Syntax 在“我的代码”中找不到错误;;“预期”;,syntax,if-statement,Syntax,If Statement,当我运行代码时,它说有语法错误,并将我标记为else:Fatal:syntax error;期待,但其他发现。(顺便说一句,这只是我的程序的一部分)谁能告诉我我做错了什么 If D>0 then begin x1:=(-b)+sqrt(D)/(2*a); x2:=(-b)-sqrt(D)/(2*a); Writeln(x1,x2); else if D=0 then begin x:=(-b)/(2*a)

当我运行代码时,它说有语法错误,并将我标记为else:Fatal:syntax error;期待,但其他发现。(顺便说一句,这只是我的程序的一部分)谁能告诉我我做错了什么

If D>0 then
   begin
       x1:=(-b)+sqrt(D)/(2*a);
       x2:=(-b)-sqrt(D)/(2*a);
       Writeln(x1,x2);
   else
      if D=0 then
   begin
       x:=(-b)/(2*a);
       Writeln(x);
   end;
试一试


我相信你还需要一个
结尾标记,因为您有两个
if begin
语句

If D>0 then
   begin
       x1:=(-b)+sqrt(D)/(2*a);
       x2:=(-b)-sqrt(D)/(2*a);
       Writeln(x1,x2);
   end
   else
      if D=0 then
   begin
       x:=(-b)/(2*a);
       Writeln(x);
   end;

至少是语言?我们不是魔法语言编译器:)当然,在这种语言中使用的是“else-if”,而不是elseif或elsif,或者仅仅是一秒钟?@ArchitektorasKells欢迎:-)请不要忘记接受有帮助的答案(请参阅)
If D>0 then
   begin
       x1:=(-b)+sqrt(D)/(2*a);
       x2:=(-b)-sqrt(D)/(2*a);
       Writeln(x1,x2);
   end
   else
      if D=0 then
   begin
       x:=(-b)/(2*a);
       Writeln(x);
   end;