函数参数和按值传递
C++通常按值传递参数,即将数值参数传递给函数,函数将其赋给一个新的变量。传递给函数的值被称为实参,勇于接受传递值的变量(新建的)被称为形参。
多个参数
函数可以有多个参数,在调用函数时,只需用逗号将这些参数分开即可。
同样,在定义函数时,也在函数头中使用有逗号分隔的参数声明列表。
程序7.3
#include<iostream>
using namespace std;
void n_chars(char, int);
int main()
{
int times;
char ch;
cout << "Enter a character: ";
cin >> ch;
while (ch != 'q')
{
cout << "Enter an interger: ";
cin >> times;
n_chars(ch, times);
cout << "\nEnter another character or press the q-key to quit: ";
cin >> ch;
}
cout << "The value of times is " << times << ".\n";
cout << "Bye\n";
system("pause");
return 0;
}
void n_chars(char c, int n)
{
while (n-- > 0)
cout << c;
}
程序7.4
#include<iostream>
long double probability(unsigned numbers, unsigned picks);
int main()
{
using namespace std;
double total, choices;
cout << "Enter the total number of choices on the game card and\n"
"the numberof picks allowed:\n";
while ((cin >> total >> choices) && choices <= total)
{
cout << "You have one chance in ";
cout << probability(total, choices);
cout << " of winning.\n";
cout << "Next two numbers (q to quit): ";
}
cout << "Bye\n";
system("pause");
return 0;
}
long double probability(unsigned numbers, unsigned picks)
{
long double result = 1.0;
long double n;
unsigned p;
for (n = numbers, p = picks; p > 0; n--, p--)
result = result * n / p;
return result;
}