to haor:
      exit 好象只能跳出一级吧
他可是要跳出n个(未知)函数。

解决方案 »

  1.   

    这里我写了一个求阶乘的函数,你看看吧!
    function jc(intA)
    if intA=0 then
    jc=1
    else
    if intA=1 then               '这就是郭子所说的边界值!
    jc=1                 '从这里回去的.
    else
    jc=jc(intA-1) * intA
    end if
    end if
    end function'试试!
    debug.print 5!
      

  2.   

    先谢谢郭子和袁飞,但我的递归算法比较复杂,而且肯定有边界值,现粗略描述如下:
    sub cal(var1,var2)
    if 符合结束条件 then 
      ...
      exit
    end if
    for i=1 to n
      ...
      cal(somechange(var1),somechange(var2))
      ...
    next
    end sub'其中somechange是指对变量做某公式转换
    这个算法是找最佳匹配的算法,找到一个匹配或超出限定条件后(即算法里的符合结束条件),就退出当前层次的递归函数,再找下一个匹配。当找到最佳匹配后,我就想算法结束,不再找下一个匹配,所以我想有一个判断最佳匹配后就退出整个递归的方法,不知道各位高手有没有好的点子?