【知识点】
实参数组名代表一个固定的地址,或者说是指针常量;
形参数组名并不是一个固定的地址,而是按指针变量处理。
在函数调用进行虚实结合后,形参的值就是实参数组首元素的地址。 在函数执行期间,它可以再被赋值。
void fun(arr[],int n) {
printf("%d\n",*arr); //输出array[0]的值
arr=arr+3; //形参数组名可以被赋值
printf("%d\n",*arr); //输出array[3]的值
}
【算法代码】
#include <bits/stdc++.h>
using namespace std;
const int maxn=1005;
int a[maxn];
void inv(int x[],int n) {
int t;
int i,j,mid=(n-1)/2;
for(i=0; i<=mid; i++) {
j=n-1-i;
t=x[i];
x[i]=x[j];
x[j]=t;
}
}
int main() {
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
inv(a,n);
for(int i=0;i<n;i++){
cout<<a[i]<<" ";
}
return 0;
}
/*
in:
5
1 2 3 4 5
out:
5 4 3 2 1
in:
8
8 7 6 5 4 3 2 1
out:
1 2 3 4 5 6 7 8
*/