用戶自定義函數
函數參數和傳值調用
注意:
#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;
}