6.2 函数(2)

数组形参的改变会影响实参的改变。Swap(a,b)改变的只是形参的值,是实参拷贝过去的值,并不影响实参的改变。

#include<iostream>
using namespace std;
int a1[4] = {4, 5, 6, 9};
int a2[] = {3, 18, 56, 40, 78};
int FindMax(int a[], int length)
{
	int maxn;
	for(int i = 0; i < length; ++i)
	{
		if(a[i] > maxn)
			maxn = a[i];
	}
	return maxn;
}
int main()
{
	cout << FindMax(a1,sizeof(a1)/sizeof(int)) << endl;//9 length = sizeof(a1)/sizeof(int)=4
	cout << FindMax(a2,sizeof(a2)/sizeof(int)) << endl;//78
	return 0;
}

#include<iostream>
using namespace std;
int a1[4] = {4, 15, 6, 9};
void SetToZero(int a[], int length)//没有返回值 
{
	for(int i = 0; i < length; ++i)
	{
		a[i] = 0;
	}
}
int main()
{
	SetToZero(a1, 4); 
	for(int i = 0; i < 4; ++i)// 数组形参的值会影响实参,所以a1数组的所有元素值都为0 
	{
		cout << a1[i] << " ";
	} 
	return 0;
}

猜你喜欢

转载自blog.csdn.net/yanyanwenmeng/article/details/81058986