C++函数值与参数 | 函数实现比较大小

41 阅读2分钟

C++形式参数和实际参数

主调函数和被调函数之间是有数据传递关系的,在调用函数时,函数是带参数的,参数分为形式参数和实际参数

形式参数是在定义函数时,函数名后面括号中的变量名。 实际参数则是在主调函数中调用一个函数时,函数名后面括号中的参数。

形式参数和实际参数有什么区别呢?

实参可以是变量、常量或表达式。 在定义函数时,需要在函数首部指定形参的类型。

实参与形参的类型应相同或赋值兼容。 在调用函数时,编译系统会临时给形参分配存储单元。

实参变量对形参变量的数据传递时值传递,也就是单向传递,只能由实参传给形参,无法逆序传输。

在定义函数指定的形参,如果函数未调用,形参时不占内存中的存储单元,只有在函数调用发生时,形参才被分配存储单元,调用结束后,存储单元也会被释放。

C++函数的返回值

在C++中,函数的返回值是通过函数中的return语句获得,return语句将被调函数中的一个确定值带回主调函数中。

return语句后面的括号可以省略。 return语句后面的值也可以是表达式。

在定义函数时就指定函数值的类型,因为函数有返回值,这个值就应该属于某一个确定的类型。

如果函数值的类型和return语句中的表达式的值不一致,那么以函数类型为准,对数值型数据,可以自动进行类型转换。

经典案例:C++实现比较两个数大小,要求使用函数。

#include<iostream>//头文件 
using namespace std;//命名空间 
extern int CompareSize(int num_1,int num_2);//函数声明 
int main() //主函数 
{
  int num_1,num_2,max;//定义变量 
  cout<<"请输入两个数:";
  cin>>num_1>>num_2;
  max=CompareSize(num_1,num_2);//调用自己写的比较大小的函数 
  cout<<"较大的数是:"<<max<<endl;
  return 0;//主函数返回值为0 
} 
int CompareSize(int num_1,int num_2)//函数定义 
{
  int temp;//定义中间变量 
  if(num_1>num_2)//把两个数中的较大赋给temp 
  {
    temp=num_1;
  }
  else
  {
    temp=num_2;
  }
  return temp;//把较大的数返回到调用函数处 
}

执行本程序之后,会输出:

请输入两个数:5 8
大数时:8

--------------------------------
Process exited after 4.155 seconds with return value 0
请按任意键继续. . .