数组作为函数的参数传递,不是单纯的值传递,传递的是数组本身(访问的是同一个地址,相同的值)。
版本1:指明参数:
#include <iostream>
#include <windows.h>
using namespace std;
void part1(int put[3][4]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
cout << put[i][j] << " ";
}
cout << endl;
}
}
int main() {
int x = 0;
int y = 0;
int stat[3][4] = { 0 };
for (x = 0; x < 3; x++) {
for (y = 0; y < 4; y++) {
stat[x][y] = 4 * x + y + 1;
}
}
part1(stat);
system("pause");
return 0;
}
版本2:省略一个高维参数:
#include <iostream>
#include <windows.h>
using namespace std;
void part1(int put[][4],int lines) {
for (int i = 0; i < lines; i++) {
for (int j = 0; j < 4; j++) {
cout << put[i][j] << " ";
}
cout << endl;
}
}
int main() {
int x = 0;
int y = 0;
int stat2[3][4] = { 0 };
for (x = 0; x < 3; x++) {
for (y = 0; y < 4; y++) {
stat2[x][y] = 4 * x + y + 1;
}
}
part1(stat2,3);
system("pause");
return 0;
}