1

我想调用“function2();” 仅在第一次调用 recurfunc() 时才出现。

recurfunc()
{
    function2();     //to be called first time only in a recursive function
    static int i= 0;
    i++;

    if(i>20)
        return;
    else
    recurfunc();
}
4

2 回答 2

8

对您的代码进行微不足道的更改:

void recurfunc()         // * Remember to specify return type *
{
    static int i= 0;

    if (i==0)
        function2();     // called only the first time.

    i++;

    if(i>20)
        return;
    else
        recurfunc();
}
于 2013-04-03T06:22:25.943 回答
4

使用辅助函数:

void recurfunc() {
   function2();
   helperRecurFunc();
}

helperRecurFunc()没有调用的原始方法在哪里func2()

于 2013-04-03T06:23:03.577 回答