在c语言中,函数调用是否必须先声明?

如题所述

在C语言中,编译一个C语言源文件是从第一行开始扫描到最后的,你调用一个函数,之前必须定义或申明过这个函数。

这样是合法的:
void f(){
}
int main(){
f();
}

这样也是合法的
void f();

int main(){
f();
}

void f(){
}

这样就是非法的
int main(){
f();
}
void f(){
}

所以函数调用不一定需要先声明,当函数定义调用函数之后需才要先申明。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-05
在C语言中,编译一个C语言源文件是从第一行开始扫描到最后的,你调用一个函数,之前必须定义或申明过这个函数。

这样是合法的:
void f(){
}
int main(){
f();
}

这样也是合法的
void f();

int main(){
f();
}

void f(){
}

这样就是非法的
int main(){
f();
}
void f(){
}

所以函数调用不一定需要先声明,当函数定义调用函数之后需才要先申明。