#define THREE 3
void all(int[],int);

int main()
{

int array[3];
printf("first number ?\n");
scanf("%d",&array[0]);
printf("second number ?\n");
scanf("%d",&array[1]);
printf("third number ?\n");
scanf("%d",&array[2]);
all(array,THREE);
void all(int array_all[],int a)
{
int i;
for(i=0;i<a;i++){
printf("array[%d] = %d\n",i+1,array_all[i]);
}
}

return 0;

}

all ローカル関数の定義が正しくありません。 てでます。
どこがまちがっているのでしょうか?