#include <iostream>
using namespace std;
const int N = 1010;
int a[N];
void print(int size)
{
for (int i = 0; i < size; i ++ )
cout << a[i] << ' ';
}
int main()
{
int n, size;
cin >> n >> size;
for (int i = 0; i < size; i ++ ) cin >> a[i];
print(size); //没必要再将数组a作为参数传入,因为数组a已经是全局数组了
return 0;
}
输入
20 19
8 5 11 13 18 3 4 17 6 19 11 3 13 6 7 14 6 6 18 8
为什么输出n和size是13和4呀?
是这样的,数组a[n]不应该如此声明,因为在声明a[n]的时候,n还是一个未定的值,编译器可能默认给它分配了4个int空间,虽然后面输入了n的值,又由于C++中普通
arrray
的大小在声明后就不能够改变,所以a的size仍然是4。把两行代码的顺序改为:
即可。
感恩!respect!!!