
可以的
是不是执行的时候碰见了调用段物态函数项,直接就跳到后面的定义语句上执行 是的
void main()
{int add(int a,int b);//这一行是add函数的声明
int a,b,sum=0;
a=5;
b=6;
sum=add(a,b);
printf("%d\n",sum);
}
int add(int a,int b)
{
return (a+b);
}
函数定义语句出现在函数调用项后面,必须在调用项前使用函数原型对函蚂坦数进行声明
所谓函数原型就是int add(int a,int b)后面握源加一个分号(;),即int add(int a,int b);
c语言中函数的定义语句不可以放在调用语句后面,c语言语法规定都是先定义在调用的,否则会出错的,
在C语言中,编译一个C语言源文件是从第一行开始扫描到最后的,你调用一个函数,之前必须定义或申明过这个函数。
这样是合法的:
void f(){
}
int main(){
f();
}
这样也氏燃孙是合法的
void f();
int main(){
f();
}
void f(){
}
这样就是非法的
int main(){
f();
}
void f(){
}
所以段册函数调用不一定需要先声明,当函数定义调用函数之后需才要先申明。
如果函数定义在要调用该函数的函数的前面,就可以不用声明了,比如定义在main()前面的函数,在main()函数里面就可以不用声明,直接调用就可以,但是如果在歼链后面的话,就要声明了
可以放在后面,但此时需要在前面进行声明。
必须先声明,不然在main函数执行的过程中,碰见了该调用函数携老敏,编译器会不知道跳到哪个地方执行,如果含坦声明,直接就跳到后面的辩枝定义语句上执行。把定义语句执行完了然后再回头执行main语句的其它内容。