C++语言程序设计 清华大学郑莉 数组作为函数参数 数 ·数组元素作实参,与单个变量一样。 ·数组名作参数,形、实参数都应是数 组 组名,类型要一样,传送的是数组首 地址。对形参数组的改变会直接影响 到实参数组。 16
C++语言程序设计 清华大学 郑莉 16 数组作为函数参数 ⚫ 数组元素作实参,与单个变量一样。 ⚫ 数组名作参数,形、实参数都应是数 组名,类型要一样,传送的是数组首 地址。对形参数组的改变会直接影响 到实参数组。 数 组
C++语言程序设计 清华大学郑莉 例6-2使用数组名作为函数参数 数 ·主函数中初始化一个矩阵并将每个元 素都输出,然后调用子函数,分别计 组 算每一行的元素之和,将和直接存放 在每行的第一个元素中,返回主函数 之后输出各行元素的和。 17
C++语言程序设计 清华大学 郑莉 17 例6-2 使用数组名作为函数参数 ⚫ 主函数中初始化一个矩阵并将每个元 素都输出,然后调用子函数,分别计 算每一行的元素之和,将和直接存放 在每行的第一个元素中,返回主函数 之后输出各行元素的和。 数 组
#include <iostream> using namespace std; void rowSum(int a[][4],int nRow){ for (int i 0;i nRow;i++){ for(int j=1;j 4;j++) a[i][0]+=a[i][j]; int main0{//主函数 int tab1e[3][4]={1,2,3,4}, {2,3,4,5},{3,4,5,6}}; //声明并初始化数组 18
#include <iostream> using namespace std; void rowSum(int a[][4], int nRow) { for (int i = 0; i < nRow; i++) { for(int j = 1; j < 4; j++) a[i][0] += a[i][j]; } } int main() { //主函数 int table[3][4] = {{1, 2, 3, 4}, {2, 3, 4, 5}, {3, 4, 5, 6}}; //声明并初始化数组 18
/输出数组元素 for (int i 0;i 3;i++){ for (int j=0;j<4;j++) cout <table[i][j]<<" cout <endl; rowSum(table,3);/调用子函数,计算各行和 //输出计算结果 for (int i 0;i<3;i++) cout,"Sum of row”<i〈K”is”〈 table[i][O]<endl; return 0; 19
//输出数组元素 for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) cout << table[i][j] << " "; cout << endl; } rowSum(table, 3); //调用子函数,计算各行和 //输出计算结果 for (int i = 0; i < 3; i++) cout << "Sum of row " << i << " is " << table[i][0] << endl; return 0; } 19
运行结果: 12 3 4 2 4 5 3 4 5 6 Sum of row 0 is 10 Sum of row 1 is 14 Sum of row 2 is 18 20
运行结果: 1 2 3 4 2 3 4 5 3 4 5 6 Sum of row 0 is 10 Sum of row 1 is 14 Sum of row 2 is 18 20