写了个Function如下:function Randomid:Integer;
var
   I: Integer;
begin
   Randomize;
   for I:= 1 to 10 do begin
   result:=random(I)
   end;
end;为何调用该Function时,结果并不是前面限定的变量I的范围内Random呢?而似乎好象是在一个很大的范围内随机变化。
到底是什么地方出了问题呀?

解决方案 »

  1.   

    你这个函数中的循环没有用啊,最后都是执行
    Result := random(10);
    所以返回结果都是在0-9这个范围内。
      

  2.   

    function Randomid:Integer;
    begin
      Randomize;
      result:=random(10)+1;
    end;
      

  3.   

    sysu说得对,白白循环了多次。
      

  4.   

    loveyankee (晃晃悠悠) 
    我试了一下,好像你最先的代码没问题啊~
      

  5.   

    我的代码的确有问题,不应该有那个for循环function Randomid:Integer;
    begin
      Randomize;
      result:=random(10)+1;
    end; 这就没有问题了。我最开始的代码因为是Random(I),所以它是在整个I变量范围能随机,而和for循环没有关系,真的很感谢各位!呵呵