我试图找出如何用C语言的另一个函数在不同的迭代中调用不同的函数。例如,假设我正在调用的函数是A。在第一次迭代中,我想在A中调用函数B,但在所有其他迭代中,我都想调用函数C。请注意,这些迭代不仅在函数A上进行。这是较大程序的一部分,所以我不能在此函数中放入for循环。
最佳答案
您可以使用局部作用域的静态变量来跟踪是否已调用A:
void caller()
{
static int called_before = 0;
if (called_before)
{
B();
}
else
{
A();
called_before = 1;
}
}