三个数组函数,望找出错误

#include<stdio.h>
void intputArray(int a[],int n)
{
int i;
scanf("%d",&n);
for()

}
void outputArray(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%6.1d",a[i]);
}
}
void reverseArray(int a[],int n)
{
int i,j,t;
for(i=0,j=n-1;i<n/2;i++,j--)
{
t=a[i];a[i]=a[j];a[j]=t;
}
for(i=0;i<n;i++)
{
printf("%6.1d",a[i]);
}
}

int main()
{
int a[20];
int n;
inputArray(a,n);
reverseArray(a,n);
return 0;

}

img

n的值获取放在函数外面,main函数中inputArray写错了,漏写了一个t
代码修改如下:

#include<stdio.h>
void intputArray(int a[],int n)
{
    int i;
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
}
void outputArray(int a[],int n)
{
    int i;
    for(i=0;i<n;i++)
    {
        printf("%6.1d",a[i]);//用%6d就可以了,为什么要用%6.1d?
    }
}
void reverseArray(int a[],int n)
{
    int i,j,t;
    for(i=0,j=n-1;i<n/2;i++,j--)
    {
        t=a[i];a[i]=a[j];a[j]=t;
    }
    for(i=0;i<n;i++)
    {
        printf("%6.1d",a[i]);
    }
}
int main()
{
    int a[20];
    int n;
    while(1)
    {
        printf("请输入n的值(0-20):");
        scanf("%d",&n);
        if(n<0 || n>20)
            printf("输入不合法,");
        else
            break;
    } 
    
    intputArray(a,n);
    reverseArray(a,n);
    return 0;
}


intputArray函数声明多了一个t,改为inputArray

img