当前位置:首页 » 多媒体相关

看看这段程序应该运行几遍?


private   sub   command1_click()  
          dim   i,   j   as   integer  
          j   =   1  
          for   i   =   1   to   j  
                  msgbox   "hello"  
                  i   =   0  
                  j   =   0  
          next  
  end   sub  
   
  如果next是先加1再判断是否执行,上面得就应该一遍。如果next是先判断是否执行再加1,上面的就是2遍,可是我记得next应该是先加1在判断是否执行,那上边的就应该是一遍,可实际结果是2遍。不知原因。

推荐阅读

  • 其实我们的宝贝M65待机时间也很长 [详细内容]
  • 泛微协同OA办公系统签约中山市众达电讯 信息化频道 [详细内容]
  • 专家建议:消费者购买电磁炉要重点考虑四点 [详细内容]
  • UT660破解开机密码的技巧 [详细内容]
  • 调查显示:07年CIO们将更关注ERP与安全 信息化频道 [详细内容]
  • “摘掉”微小型企业信息化无人问津的帽子 信息化频道 [详细内容]
  • 普通家庭影院音响配置 三点经验解析 [详细内容]
  • 网友回答:
    网友:gcj123

    这样写根本就是一个死循环,为什么呢  
      j=1  
      for   i   =   1   to   j  
                      msgbox   "hello"  
                      i   =   0  
                      j   =   0  
      next  
      在这段代码中i是循环变量,next是先加1再判断这是对的,但是这时候i是和谁比较了,不是你想象中j,而是1。for   i   =   1   to   j   语句执行后,循环的终止条件就确定为i大于1时。看下面代码  
      j=5  
      for   i   =   1   to   j  
                      msgbox   "hello"  
                      j   =   0  
      next  
      这个循环会执行5次,而不是1次

    网友:flyingworm

    private   sub   command1_click()  
              dim   i,   j   as   integer  
              j   =   1  
              for   i   =   1   to   j  
                      msgbox   "hello"  
                      i   =   0     <------------next之后会=1  
                      j   =   0     <-----next之后会=0  
              next  
      end   sub  
      --------------------------------------  
      private   sub   command1_click()  
              dim   i,   j   as   integer  
              j   =   1  
              for   i   =   1   to   j       <-------如果i>j,也就是说,在这里,1>0的时候,不会跳出吗?我没运行环境,各位试一下...  
                      msgbox   "hello"  
                      i   =   0  
                      j   =   0  
              next  
      end   sub  
       
       
       
     

    网友:bao3

    真的是死循环吗??????????  
      private   sub   command1_click()  
              dim   i,   j   as   integer  
              j   =   1  
              for   i   =   1   to   j       /在这里,   是i与j来比较,在循环了一次并   next   后,i=1.而j   =   0.  
                                                  /这时i   与j   再相比一次,这时,1>0,故第二次会跳出,应该只循环一次的  
                      msgbox   "hello"  
                      i   =   0  
                      j   =   0  
              next  
      end   sub  
     

    网友:flyingscv

    来晚了  
       
              for   i   =   1   to   j       开始这里解释得到i=1   to   1  
      msg:         msgbox   "hello"  
                      i   =   0  
                      j   =   0         这句对循环没有影响  
              next                   这里判断i+1=1   跳至msg:反复

    网友:chao778899

    对循环  
      for   i=1   to   j  
       
      next  
      如果里边不指定i的值,那么无论是否指定j的值,都是按开始的j的值,该循环几次就循环几次,但是如果指定了i的值,如果指定的i的值小于以前的j值,那么就是死循环,如果指定的i值大于开始的j值,那么就会跳出循环----

    网友:snhnbn

    循环的初值和终值均不受循环内部代码改变初始设置的初值变量和终值变量所影响。  
      但是循环变量允许受到循环内部代码的控制。  
       
      因此,这段程序是死循环。i=<1均不会出循环。

    网友:of123

    在循环中修改j并不能改变循环的to值1。所以楼主所希望的循环变量0与to值0比较的情况不会出现。而由于i=0<1,所以成为死循环。

    .

    讨论区

    Login