fpc的运行时错误201 [英] Runtime Error 201 at fpc

查看:114
本文介绍了fpc的运行时错误201的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在写关于猜数字的游戏,我必须将4位数字分解成数字并将数字放入数组中,但是该部分始终使用fpc给出运行时错误201,但是当我使用ideone.com时它给了我我想要的东西.我不知道.这可能是个错误吗?对不起我的英语.

i have been writing a game about guessing numbers and i have to seperate a 4 digit number into its digits and put digits into an array.However that section keeps giving me runtime error 201 using fpc.However when i use ideone.com it gives me what i want.I can't figure out.can it be a bug?Sorry for my English.

program game;
var
    number : array [1..4] of integer;
    z, i, j: integer;
    number_4digit: integer;
begin
     readln(number_4digit);
     for i := 4 downto 1 do begin
        j := i;
        z := number_4digit;
        while z > 10 do begin
            z := z div 10;
     end;   
     number[5-i] := z;
     repeat
           z := z * 10;
           j := j - 1;
     until j = 1;
     number_4digit:= number_4digit - z;
     write(number[5-i], ' ');  
end;    
end.

我解决了这个问题.感谢Marco van de Voort.

I solved the problem.Thanks for Marco van de Voort.

repeat
      z := z * 10;
      j := j - 1;
until j = 1;

我将本节更改为此.

while j > 1 do begin
 z := z * 10;
     j := j - 1;
end;    

推荐答案

  1. 在for循环之后,J始终为1.
  2. 然后在重复循环中将其递减(至j = 0).
  3. 不等于1,因此它再次减小到-1直到-32768,然后翻转到32767
  4. 然后将32767转换为1.

总而言之,重复执行65536 +/- 1次.我从代码中不清楚J变量的含义.评论更多.

In summary the repeat is done 65536 +/-1 times. The meaning of the J variable is not clear to me from the code. Comment more.

这篇关于fpc的运行时错误201的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆