为什么当i=n-1时,但不满足if中的条件时仍会输出a[n-1],n-1,但前几个就没有这个问题



```c++

#include<stdio.h>
int main(){
    int n,x,i,b;
    b=0;
    scanf("%d %d",&n,&x);
    if(n<=20){
    
    printf("%d %d\n",n,x);
    int a[i];
    //scanf("%d",&a[i]);
    //printf("%d",a[i]);
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);
        printf("%d",a[i]);
        printf("%d\n",i);
        if(a[i]==x) {
        printf("%d",a[i]);   
            printf("%d\n",i);   b=1;//break;
            }
            
            }}
        //if(b==0)
        //printf("Not Found");}
    
}

```

    scanf("%d",&a[i]);
    printf("%d",a[i]);
    printf("%d\n",i);

每个a[i]都会输出啊