free pascal的代码运行出错了

2025-01-07 05:31:51
推荐回答(2个)
回答1:

以下的程序已修改,只要在运行时第一个数字后面加打一个空格就行了。
例如:
3 +5
123 +2000
var
result,x,y:real;
ch:char;
flag:boolean;
begin
read(x,ch,ch,y); //作了修改,多读一次ch,以去除空格
result:=0;
flag:=true;
case ch of
'+':result:=x+y;
'-':result:=x-y;
'*':result:=x*y;
'/':if y<>0 then
result:=x/y
else
flag:=false;
end;
if flag=true then
write(result)
else write('error');
readln;
end.

回答2:

问题出在read(x,ch,y)这句上。你只要输入3空格+空格5就好了。