C 多个递归函数



在声明函数之前如何使用?

我有3个功能,每个功能都必须相互交互,但是我找不到一种方法来使较早的声明功能与后期声明的函数交互。这是代码:

int f(int a){
    if (a==0){return 1;}
    if (a==1){return 2;}
    if (a==2){return 7;}
    return 2*f(a-1)+3*f(a-2)+3*f(a-3)+6*g(a-2)+2*g(a-3)+2*h(a-2);
}
int g(int b){
    if (b==0){return 0;}
    if (b==1){return 1;}
    return f(b-1)+g(b-1)+h(b-1);
}
int h(int c){
    if (c==0){return 0;}
    if (c==1){return 1;}
    return f(c-2)+g(c-1)+g(c-2);
}

一个函数只需要知道另一个函数的名称,其参数类型和返回类型即可称呼它。它不需要在您称为它的点上完全实现。只需先声明您的函数首先,以后以后

// Declare before use
int g(int b);
int h(int c);
// Implement here
int f(int a){
    if (a==0){return 1;}
    if (a==1){return 2;}
    if (a==2){return 7;}
    return 2*f(a-1)+3*f(a-2)+3*f(a-3)+6*g(a-2)+2*g(a-3)+2*h(a-2);
}
int g(int b){
    if (b==0){return 0;}
    if (b==1){return 1;}
    return f(b-1)+g(b-1)+h(b-1);
}
int h(int c){
    if (c==0){return 0;}
    if (c==1){return 1;}
    return f(c-2)+g(c-1)+g(c-2);
}

最新更新