C-递归函数

C-递归函数,c,recursion,scope,C,Recursion,Scope,我正在用C写一个递归程序 给定表达式“(1+3)*2”的这种结构,在括号中如何调用F中的函数E?显然,E必须在F之前声明。。但是我怎么能叫F呢?我真的被这件事吓坏了,我已经让编程在没有括号的情况下运行,但似乎无法理解这一部分。只需声明函数并按您喜欢的顺序定义它们 大概是这样的: /*** header.h ***/ int E(int argument); int F(int argument); /*** source.c ***/ int E(int argument) { /*

我正在用C写一个递归程序


给定表达式“(1+3)*2”的这种结构,在括号中如何调用F中的函数E?显然,E必须在F之前声明。。但是我怎么能叫F呢?我真的被这件事吓坏了,我已经让编程在没有括号的情况下运行,但似乎无法理解这一部分。

只需声明函数并按您喜欢的顺序定义它们

大概是这样的:

/*** header.h ***/
int E(int argument);
int F(int argument);

/*** source.c ***/
int E(int argument) {
    /* ... do smth ... */
    F(arg+1);
}

int F(int argument) {
    /* ... do smth ... */
    E(arg+1);
}

你能再解释一下逻辑吗?我不明白。提示:把你的中缀表达式转换成后缀哇,非常感谢哈哈。我是C新手,所以我没有意识到这一点。这应该可以很好地工作。@user3106433一个好习惯是将这些原型放在头文件中;)