freepascal吧 关注:250贴子:915
  • 2回复贴,共1

萌新发帖,求教

只看楼主收藏回复

请高手指教,这个程序错在哪里?先谢谢哈
program tom-01;
var i,j,x:integer;
begin
writeln('x=',x);
readln(x);
for i:=1 to 30 then
begin
if x mod 2=0 then x:=x/4
else x:=x+5
i:=i+1
end;
j:=x;
writeln('j=',x);
readln;
end.
自己感觉x:=x/2有问题,编译过程中也确实出现了错误提示,但不知道错在哪里。盼各位高手指正。


1楼2017-06-26 14:17回复
    编译错误还不止一个
    第一个提示:incompatible types类型不兼容,矛头直指语句x:=x/2
    第二个提示:illegal assignment to for-loop variable "i" 对变量“i”赋值无效。
    第三个提示:there were 2 errors compiling module ,stopping.有两个编译错误,已停止。
    针对第一个问题,是不是因为x/2时会出现小数造成的?
    第二个问题是不是由于最下面的对 i 赋值引起的?
    请高手指教,在线等。


    2楼2017-06-26 14:32
    回复
      广告
      立即查看
      等不来高手,自己熬夜解出来了。


      3楼2017-06-27 13:48
      回复