c语言函数参数没有传入数组但在函数内对数组的值进行改变

#include<stdio.h>
int feis(int n)
{  
   
    int n=10; 
    int a[20];
    int i=2;
    
    a[0]=1;
    a[1]=1;
    if(i==1||i=2)
    return 1;
    else{
    
    for(i=2;i<n;i++)
    {
        a[i]=a[i-1]+a[i-2];
        if(i=n-1)
        return a[i]
    }
        }

}
main()
{
    printf("\n循环算法求的前10项为:");
    for(i=1; i<=n; i++)
    {  
       y=fibo_loop(i);
       printf("%3d",y);
       }
 }

a[]内值的改变并没有保存下来从第四项开始一直为0.