中易网

c++ int型函数 怎么声明

答案:1  悬赏:10  
解决时间 2021-01-16 06:37
  • 提问者网友:做自己de王妃
  • 2021-01-16 02:37
c++ int型函数 怎么声明
最佳答案
  • 二级知识专家网友:笑迎怀羞
  • 2021-01-16 03:04
在C++中,函数原型就是函数的声明。所以,函数原型除了向用户说明如何使用一个函数以外,还告诉电脑存在这样一个可以使用的函数。

我们已经介绍了函数原型的结构,只不过“产生结果类型”这个名称是为了方便理解而起的。它应该称为“返回值类型”,用任意一种数据类型来表示,比如int或者char等等,当然还包括空类型void。多个参数则构成了“参数表”,表示运行这个函数需要哪些数据。于是,函数原型的结构就是:
    返回值类型函数名(参数表);
函数声明同变量的声明一样,是一句语句。所以在语句结束要加上分号。函数名、参数名的规则和注意事项同变量名一样。

关于“返回”的概念稍后再作介绍,我们先来说说参数表。我们知道,在声明函数的时候,会写一些参数,而在调用函数的时候需要一一对应地填入这些参数。虽然它们都叫参数,但在不同的情况下,它们的含义是不同的。在声明一个函数的时候,参数是没有实际值的,只是起到一个占位的作用,所以称为形式参数,简称“形参”;在调用一个函数的时候,参数必须有一个确定的值,是真正能够对结果起作用的因素,所以称为实际参数,简称“实参”。我们拿数学中的函数作为例子,g(x,y)=x/4+y中的x和y就是形式参数,而g(4,1)=4/4+1=2中的4和1就是实际参数;如果令a=4、b=1,那么g(a,b)中的a和b也是实际参数。

函数的定义
说完了函数的声明,我们来说函数的定义。其实函数的定义对大家来说是比较熟悉的。因为我们之前所写的程序都是对主函数的定义。函数定义的格式为:
没有分号结尾的函数原型
{
    语句块;
}

我们把函数定义中没有分号结尾的函数原型称为函数头,把之后的语句块称为函数体。任何一个函数的定义不能出现在另一个函数体内。但函数体内可以调用任何一个函数,包括其本身。
下面我们先来看一个例子,你就会对函数定义有些了解了。(程序6.2.1)




运行结果:
5
程序在运行的时候从main函数开始,遇到调用一个用户定义的函数max,则去查找这个max函数的定义,然后运行max函数。运行完了以后,回到调用max函数的地方,继续后面的语句,直到程序结束。所以整个程序的运行过程如箭头所示。

不要使用相同的变量和参数
如果在一个班级里有两个同名同姓的同学,那么老师上课点名将是件麻烦事。因为大家都搞不清到底是在叫谁。可是,如果两个不同的班级有两个同名同姓的同学,就不会发生这种尴尬,因为老师在不同的教室点相同的名字,会有反应的只有一个同学。

我们把这个问题套用到函数上来。如果在同一个函数有两个名字相同的变量,那么电脑将无法分清到底要使用哪个变量,导致错误发生。而在不同的函数中,即使有相同名称的变量,由于在某一个函数中该变量的名称是唯一的,电脑也能方便的识别要使用哪个变量。因此,我们得到这样一个结论:一般情况下,在同一个函数中,不能有名称相同的变量或参数;在两个不同的函数中,可以有名称相同的变量或参数。

下面就让我们来看一个实例:(程序6.2.2)
#include "iostream.h"
int max(int a,int b,int c);//求三个整数的最大者
int min(int a,int b,int c);//求三个整数的最小者
void output(int a);//输出功能
int main()
{
   int a=3,b=4,c=2;
   output(max(a,b,c));//把max函数的返回值作为output函数的实参
   output(min(a,b,c));
   return 0;
}
int max(int a,int b,int c)//不在同一个函数中,参数名重复没关系
{
   if (a>=b && a>=c) return a;
   if (b>=a && b>=c) return b;
   return c;//一旦执行了前面的return,这句就不会被执行到
}
int min(int a,int b,int c)
{
   if (a<=b && a<=c) return a;
   if (b<=a && b<=c) return b;
   return c;
}
void output(int a)
{
   cout <   return;//返回空类型
}
运行结果:
4
2
要注意,一旦函数运行结束,那么该函数中声明的参数和变量都将消失。就像下课了,同学们都回家了,老师叫谁都是叫不应的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息