我用的是delphi7.0。我的程序如下:program Project1;{$APPTYPE CONSOLE}uses
  SysUtils;  var
     x,y,i:integer;
begin
  { TODO -oUser -cConsole Main : Insert code here }
  x:=3;
  y:=5;
  for i:=x To y Do
     begin
         x:=3;//为什么程序没有经过
         y:=16;//为什么程序没有经过
         write(i);
     end
end.
我在做单步调试时,为什么在循环中的x,y没有用上,i显示345?

解决方案 »

  1.   

    因為i=x to y
    在循徊中你改變了循徊變量 i 的初始值﹔
      

  2.   

    x:=3;//为什么程序没有经过
             y:=16;//为什么程序没有经过
     这两句话根本没有编译。因为在循环体中不能改变
    for语句中的条件值
      

  3.   

    是编辑器做了优化,因为X,Y从来没没使用!
    可以把优化选项去掉!
    Project->options->compile->code genreration 下把optimizition前的勾去掉!
    试一下!
      

  4.   

    不是不是,其实真正显示的不是345,应该是3,4,5才对,只不过你的代码有问题而已,你把那个16编译在FOR里面,所以不可能显示