i:=0 ;
x:=0; 
for i:=0 to x-1 do 
  something ;
i=?

解决方案 »

  1.   

    >>i:=0 ;这句被编译器优化了,所以得出的结果是个大数字
      

  2.   

    是编译器优化的结果。设置:
    Project->Options->Compiler->Code generation->Optimization 去掉,再试试。
      

  3.   

    i:=个随机数;
    我的意思是for 不好用
    昨天被它害得加班
      

  4.   

    被 for i:=0 to -1 害得加班,你干脆找块豆腐撞死算了
      

  5.   

    回复人: terrytzq(边缘) ( ) 信誉:95  2005-04-19 14:25:00  得分: 0  
     
     
       i:=个随机数;
    我的意思是for 不好用
    昨天被它害得加班
      回复人: jinjazz(近身剪(充电中...)) ( ) 信誉:132  2005-04-19 14:29:00  得分: 0  
     
     
       被 for i:=0 to -1 害得加班,你干脆找块豆腐撞死算了
      
     
    哈哈哈哈哈
      

  6.   

    被 for i:=0 to -1 害得加班,你干脆找块豆腐撞死算了
    经典
      

  7.   

    被 for i:=0 to -1 害得加班,你干脆找块豆腐撞死算了加了多长时间班?
      

  8.   

    编译的时候,编译器没告诉你,循环之后i的值不可用?
    i := 0;
    for i := 0 to 100 do
      .....
    if i = 100 then ...//这个语句编译器会给个Warning提示你的
    [Warning] Unit1.pas(33): FOR-Loop variable 'i' may be undefined after loop
      

  9.   

    既然大家都是来混分的,就不要那么刻薄了吧 :)for i:=m to n do
      something;
    i=?
    当这个循环成立的时候,循环后的i值才有意义。
      

  10.   

    var x,i:integer;
    begin
      x:=0;
      for i:=0 to x-1 do;
      showmessage(inttostr(i)) {Cup:窗口代码信息,下面代码x值在eax中,i值在ebx中
      xor eax,eax          //  Eax 中设置0 ,x:=0;
      dec eax              //  Eax 中设置循环结束条件
      test eax,eax
      jl +$07    --------| //此时SF<>OF  满足跳转
      inc eax            |
      xor ebx,ebx        |跳过循环
      inc ebx  <--|      |
      dec eax     |      |
      jnz -$04 ---|      |
      ....       <-------|
      Mov eax,ebx          //ebx付值部分被跳过,所以还是初始值
      Call IntToStr
      ....
      Call ShowMessage
      ....        }
    end;
      

  11.   

    '编译的时候,循环之后i的值不可用'--- Rail100
    来此受益了!又学到一个!哈哈
      

  12.   

    i 没有初始值啊~
    所以必然是一个随机数 呵呵~
    那个循环等于没有~~
    begin
    i:=0;
    for   i:=0 to -1 do
    ;
    showmessage(inttostr(i));
    end;
    这样可以证明 
    小伙子,用变量的时候要赋予初值阿1!!!
      

  13.   

    to   回复人: jinjazz(近身剪(充电中...)) ( ) 信誉:132  2005-04-19 18:43:00  得分: 0  
     
    我也是看了CPU 窗口代码信息 才知道delphi 的FOR 和C的不同
    C就不是这样的C: i 会 =0;
    to   回复人: bluejing0(此名已被占用!) ( ) 信誉:100 
        
    你自己看看你的代码,如果 i:=0 我就去死....To 大家:
      我的代码是 for i:=0 to list.count-1 do something 
      我疏忽的是 list.count =0 的时候  
      所以 要加一句  if list.count<=0 then exit;
      要不用while ...................
      

  14.   

    你必须处理i为0的情况的话,最好用repeat..until
      

  15.   

    >>我的代码是 for i:=0 to list.count-1 do something 
    你是怎么声明i的? var i:dword? 这样肯定有问题,如果var i:integer;即使list.count =0 的时候也没有关系了。
      

  16.   

    我是var i:integer;
    我不用考虑移植
    不用DWORD的;