如何在C中对函数进行排序?"先前的函数隐式声明在这里"错误

Ran*_*ien 10 c function

我确定以前曾经问过,但我找不到任何可以帮助我的东西.我有一个C语言的程序看起来像这样

function2(){
  function1()
}
function1 (){
  function2()
}

main () {
 function1()
}
Run Code Online (Sandbox Code Playgroud)

它比这更复杂,但我正在使用递归.我无法在文件中安排该函数,以便每个函数只调用上面指定的函数.我一直在收到错误

main.c:193: error: conflicting types for 'function2'
main.c:127: error: previous implicit declaration of 'function2' was here
Run Code Online (Sandbox Code Playgroud)

我该如何避免这种情况?提前感谢您的建议和解答.

pmg*_*pmg 17

在使用之前,您需要声明(不定义)至少一个函数.

function2();                 /* declaration */
function1() { function2(); } /* definition */
function2() { function1(); } /* definition */

int main(void) { function1(); return 0; }
Run Code Online (Sandbox Code Playgroud)


And*_*ite 7

Foward宣布你的职能......

function1();
function2();

function2(){
  function1()
}
function1 (){
  function2()
}

main () {
 function1()
}
Run Code Online (Sandbox Code Playgroud)


小智 5

尝试:

function1();
function2();

function2(){
  function1()
}
function1 (){
  function2()
}

main () {
 function1()
}
Run Code Online (Sandbox Code Playgroud)