数组作为函数参数传递的两种方法,但是第一种func()函数不return东西就会报错,第二种却不会是为什么?
1.数组元素作为函数参数:值传递形式
#include <iostream>
using namespace std;
int func(int n);
int main()
{
int a[5] = { 1,5,7,9,17 };
cout << "数组元素作为函数实参进行传递后的结果:" << endl;
for (int i = 0; i < 5; i++)
{
a[i] = func(a[i]); //转到函数func()进行计算
cout << a[i] << endl;
}
return 0;
}
int func(int n)
{
n *= n;
return n;
}
2.数组名作为函数实参:地址传递参数形式
#include <iostream>
using namespace std;
void func(int array[],int n);
int main()
{
int a[5] = { 1,5,7,9,17 };
cout << "数组元素作为函数实参进行传递后的结果:" << endl;
func(a,5);
for (int i = 0; i < 5; i++)
{
cout << a[i] << endl;
}
return 0;
}
void func(int array[],int n)
{
for (int j = 0; j < n; j++)
array[j] *= array[j];
}
输出结果都为
数组元素作为函数实参进行传递后的结果:
1
25
49
81
289