free pascal中的for多重循环问题

来源:百度知道 编辑:UC知道 时间:2024/06/30 23:30:43
program sy;
var a,b:integer;
for a:=1 to 5 do begin
for b:=1 to 10 do write('*');
end.
这个程序哪里错的 怎么不能运行

你的程序有一个严重的语法错误。
freepascal的主程序[[必须]]被包括在一对begin...end中
最后一个end后加点(.)
你的程序可以改成
program sy;
var a,b:integer;
BEGIN
for a:=1 to 5 do begin
for b:=1 to 10 do write('*');{?}
end
END.
这样没有语法错误了。
不过我不知道你这个程序的目的。
是不是出5行**********
这样的话把原程序的{?}改成writeln;

begin 和end是成对出现的,所以你应该在var a,b:integer;加一个begin,建议你以后先打好
begin

end.

再从中间开始写,这样就不会漏了begin和end.
应该这样
program sy;
var a,b:integer;
begin
for a:=1 to 5 do
for b:=1 to 10 do write('*');
end.

第3行的begin 没有end

可以把那个begin删了或者在最后end之前再加个:
end;

你的程序有一个严重的语法错误。 你的程序可以改成
program sy;
var a,b:integer;
BEGIN
for a:=1 to 5 do begin
for b:=1 to 10 do write('*');{?}
end
END.
这样没有语法错误了。
是不是出5行**********
这样的话把原程序的{?}改成writeln;