在一个数组中查找指定的值,返回第一个符合条件数组元素的位置解决方案

在一个数组中查找指定的值,返回第一个符合条件数组元素的位置
在一个数组中查找指定的值,返回第一个符合条件数组元素的位置(下标)需要使用 int  findFirst(int a[], int n, int value)如果我输入十个数字,我需要找到第一个大于1的数字的位置下标,就是a【i】,我要找到第一个这个i的值,我是这样编写的
#include <stdio.h>
int  findFirst(int a[], int i);
void main()
{
int i,a[10];
    printf("input 10 numbers :\n"); 
    for (i=0;i<10;i++)
scanf("%d",&a[i]);
findFirst(&a[0],i);
printf("符合条件的第一个大于一的数字的位置是%d\n",&i);
}
int  findFirst(int a[], int i)
{
for(i=0;i<10;i++)
{
if(a[i]>1)
printf("%d",i);
    break;
}
return(i);
}
紧急求助啊……哪里出错了啊?
------解决方案--------------------
#include <stdio.h>
int findFirst(int a[], int i);
void main()
{
int i,a[10];
  printf("input 10 numbers :\n");  
  for (i=0;i<10;i++)
scanf("%d",&a[i]);
printf("符合条件的第一个大于一的数字的位置是%d\n",findFirst(&a[0],i));
}
int findFirst(int a[], int i)
{
for(i=0;i<10;i++)
{
if(a[i]>1)
{
printf("%d",i);
break;
}
}
return(i);
}