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

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
请按任意键继续. . .
4.7 C++函数值与参数 mp.weixin.qq.com图标

文章来源: zhuanlan.zhihu.com,作者:,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuanlan.zhihu.com/p/326519932

(完)