C语言 函数定义概念问题不能在函数体内定义函数是什么意思?定义是声明还是使用?函数不是应该先声明在使用吗?我有些搞混了,新手---谢谢!

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 00:50:10
C语言 函数定义概念问题不能在函数体内定义函数是什么意思?定义是声明还是使用?函数不是应该先声明在使用吗?我有些搞混了,新手---谢谢!

C语言 函数定义概念问题不能在函数体内定义函数是什么意思?定义是声明还是使用?函数不是应该先声明在使用吗?我有些搞混了,新手---谢谢!
C语言 函数定义概念问题
不能在函数体内定义函数是什么意思?
定义是声明还是使用?
函数不是应该先声明在使用吗?
我有些搞混了,新手---谢谢!

C语言 函数定义概念问题不能在函数体内定义函数是什么意思?定义是声明还是使用?函数不是应该先声明在使用吗?我有些搞混了,新手---谢谢!
先举个例子:
#include
int max(int,int); //这是函数max的申明,最后要加分号
int main()
{
int a=1,b=2,c;
c = max(a,b); //这是函数max的使用
printf("%d",c);
return 0;
}
int max(int n,int m) //这是函数max的定义部分,最后不加分号
{
if (n>m)
return n;
else
return m;
}
不能在函数体内定义函数是什么意思?
【就是说函数在程序中不能嵌套定义,这个和Pascal语言不同,例如上面程序中,max函数不能定义在main函数中间】
定义是声明还是使用?
【定义既不是申明,也不是使用,函数具体功能的实现代码叫做函数的定义,如上面程序最后7行就是定义】
函数不是应该先声明在使用吗?
【是的,但如果函数定义在函数使用之前,就可以不用申明(如下面程序).函数定义在函数使用后的情况下(如上面程序),先声明,能使编译器在编译在编译过程中能够识别使用的函数】
#include
int max(int n,int m) //这是函数max的定义部分,最后不加分号
{
if (n>m)
return n;
else
return m;
}
int main()
{
int a=1,b=2,c;
c = max(a,b); //这是函数max的使用
printf("%d",c);
return 0;
}
【见第二个问题】