输入中那个a+i不加*而输出中a#i加*,那个开头a不是数组吗,后面a+i怎么就成地址了?有人来解释一下吗

#include<stdio.h>
int main(){
int a[10],n;
void input(int *a,int n);
void output(int *a,int n);
while(scanf("%d",&n)!=EOF){
input(a,n);
output(a,n);
}

return 0;
}
void input(int a,int n){
int i;
for(i=0;i<n;i++){
scanf("%d",a+i);
}
}
void output(int a,int n){
int flag=1,i;
for(i=0;i<n;i++){
if(flag){
printf("%d",
(a+i));
flag=0;
}
else
printf(" %d",
(a+i));
}
printf("\n");
}

因为数组名可以隐式转化为指针