C++语言程序设计

| 例6-21

#include <iostream.h>
int add(int x, int n)
{
return (x + n);
}
void main()
{
int a[10] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
int i;
for( i = 0; i<10; i++)
a[i]=add(a[i], i); //数组元素作函数参数
for(i = 0; i<10; i++)
cout << a[i] << endl;
}

| 例6-22

double mean(double data_array[], int numelements)
{
double sum = 0.0;
for(int i=0; i<numelements; i++)
sum += data_array[i];
return sum / numelements;
}

下面我们看看应该怎样调用上面的mean函数：

| 例6-23

int main()
{
double heights[100];
double h;
int n = 0;
cout << "Enter heights:" << endl;
cin >> h;
while(h > 0.0) {
heights[n] = h;
n++;
cin >> h;
}
double m = mean(heights, n);
cout << "The mean is " << m << endl;
return 0;
}

传值调用与传址调用的区别在于，使用传值调用时，函数接收的是函数值的一份拷贝；另一方面，使用传址调用时，函数接收的是变量的内存地址。因此，函数能改变存放于指定内存单元（也就是变量值）的值，所作的改变在函数结束后继续保留下来。