Just learning functions and keep getting lost in the variables. So i took a step back and just tried to do a very basic adding function and its still not working. Where am i going wrong?

Code:`#include <stdio.h>`

#define SIZE 50

int sum_array(int a[], int b);

int main( void )

{

int n,i;

int numbers[n];

printf( "How many numbers would you like to add?: " );

scanf( "%d", &n );

for ( i = 0; i < n; i++ ) {

printf( "Enter number %d: ", i + 1 );

scanf( "%d", &numbers[i] );

}

printf( "The total of all the numbers is %d\n",sum_array(numbers,n));

return 0;

}

int sum_array(int a[], int b)

{

int i, sum =0;

for ( i = 0; i < b; i++ ) {

sum += a[i];}

return sum;

}