#include <stdio.h>
int main()
{
int a = 4;
int b = 3;
addNumbers(a, b);
}
int addNumbers(int a, int b)
{
return a + b;
}
Run Code Online (Sandbox Code Playgroud)
为什么这不编译,我得到一条消息说隐含的函数声明addNumbers()?
Pra*_*rav 20
要么之前定义函数,要么之前main()提供它的原型main().
所以要么这样做:
#include <stdio.h>
int addNumbers(int a, int b)
{ //definition
}
int main()
{ //Code in main
addNumbers(a, b);
}
Run Code Online (Sandbox Code Playgroud)
或这个:
#include <stdio.h>
int addNumbers(int, int);
int main()
{ //Code in main
addNumbers(a, b);
}
int addNumbers(int a, int b)
{ // definition
}
Run Code Online (Sandbox Code Playgroud)
您需要在main()中调用之前声明该函数.要么在主要之前移动它,要么至少在那里声明它.此外,你应该return 0在main函数的末尾添加概要,因为它应该返回int.
#include <stdio.h>
int addNumbers(int a, int b)
{
return a + b;
}
int main()
{
int a = 4;
int b = 3;
addNumbers(a, b);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
您必须将整个addNumber()函数移动到main之上或提供原型.后者按以下方式完成:
int addNumbers(int a, int b);
int main()
{
// code of main() here
}
int addNumbers(int a, int b)
{
//code of addNumbers() here
}
Run Code Online (Sandbox Code Playgroud)