我试图找出如何用C语言的另一个函数在不同的迭代中调用不同的函数。例如,假设我正在调用的函数是A。在第一次迭代中,我想在A中调用函数B,但在所有其他迭代中,我都想调用函数C。请注意,这些迭代不仅在函数A上进行。这是较大程序的一部分,所以我不能在此函数中放入for循环。

最佳答案

您可以使用局部作用域的静态变量来跟踪是否已调用A:

void caller()
{
    static int called_before = 0;

    if (called_before)
    {
      B();
    }
    else
    {
      A();
      called_before = 1;
    }
}

10-07 18:52
查看更多