c语言函数体和函数首部的问题

c语言函数体和函数首部的问题花括号括起来的部分是函数体 ,而int max(intx.inty)是函数首部,它门不是并存的吗,,怎么还能互相包含?

在程序中出现函数名时,要注意区分以下三种情况:

1. main函数中的int max(int x,int y); 是函数的声明,一般格式为 返回值 函数名(参数类型 参数);

2. max(a,b)为函数的调用,一般格式为 函数名(参数)

3. 后面的max(int x,int y){ ...}是函数的定义,一般格式为 返回值 函数名(参数类型 参数){函数体}

c语言规定,在一个函数定义之前调用它,需要提前进行声明。

原因是,如果没有声明函数,当程序运行到max(a,b)时,由于后面的函数定义还没有被读到,所以计算机并不知道max是个什么东西,程序就会出错。

如果将函数定义提到main函数的前面,就无需进行声明了,程序也不会报错。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-06
int max(int x,int y);
没看见这里多了个;吗?函数首部没有这个;。多了这个分号就不是函数首部了而是对一个函数进行声明。
第2个回答  2018-09-16
int max(int x,int y) 是下面max函数的函数首部,并不是上面main函数的首部
相似回答