用户自定义函数
函数参数和传值调用
注意:
#include<iostream>
using namespace std;
int sum(int start, int n); //函数声明
int main()
{
int s, num;
cout << "请输入一个起始自然数:";
cin >> s;
cout << "请输入求和自然数的个数:";
cin >> num;
/*========实参的值和地址===========*/
cout << "实参s的地址是:" << &s << endl;
cout << "实参s的内容是:" << s << endl;
cout << "实参num的地址是:" << &num << endl;
cout << "实参num的内容是:" << num << endl;
/*==========实参的值和地址=========*/
cout << "从" << s << "开始的" << num << "个自然数之和为:" << sum(s, num) << endl;
return 0;
}
/*=============函数定义===============*/
int sum(int start, int n)//函数头
{
/*========形参的值和地址===========*/
cout << "形参start的地址是:" << &start << endl;
cout << "形参start的内容是:" << start << endl;
cout << "形参n的地址是:" << &n << endl;
cout << "形参n的内容是:" << n << endl;
/*==========形参的值和地址=========*/
/*========函数主体===========*/
int total = 0;//求和之前清0
for (int i = start; i < start + n; i++)
total += i;
return total;
/*==========函数主体=========*/
}
/*=============函数定义===============*/
函数的重载
//求三个整形数据中最大数
int max(int x, int y, int z)
{
int maxthree;
maxthree = (x > y) ? x : y;
maxthree = (maxthree > z) ? maxthree : z;
return maxthree;
}
//求三个双精度数中的最大数
double max(double x, double y, double z)
{
double maxthree;
maxthree = (x > y) ? x : y;
maxthree = (maxthree > z) ? maxthree : z;
return maxthree;
}
//求三个字符数据中的最大数
char max(char x, char y, char z)
{
char maxthree;
maxthree = (x > y) ? x : y;
maxthree = (maxthree > z) ? maxthree : z;
return maxthree;
}