Hi, I can't seem to get out of the first for loop below, so that it will pass the user inputed array on to the sorting function. Is there something that I'm doing wrong with the first for loop?

Code:
#include <stdio.h>
#define  NUM_INT 1000

void selection_sort(int x[], int lim);
int get_maxpos(int x[], int lim);
void print_array(int x[], int lim);

int main()
{
  int input[NUM_INT] = {0};
  int i;

  printf("please input arrays of ints to be sorted ");
  for (i = 0; i < NUM_INT; i++)   //CAN'T GET OUT OF THIS FOR LOOP!!!
  {
    scanf("%d", &input[i]);
    printf("%d ", input[i]);  //TESTING
  }

  printf("Original array:\n");
  print_array(input, NUM_INT);
  selection_sort(input, NUM_INT);
  printf("Sorted array:\n");
  print_array(input, NUM_INT);


}

void selection_sort(int x[], int lim)
{
  int eff_size, maxpos, tmp;

  for (eff_size = lim; eff_size > 1; eff_size--)
  {
    maxpos = get_maxpos(x, eff_size);
    tmp = x[maxpos];
    x[maxpos] = x[eff_size -1];
    x[eff_size -1] = tmp;
  }
}

int get_maxpos(int x[], int eff_size)
{
  int i, maxpos = 0;

  for (i = 0; i < eff_size; i++)
    maxpos = x[i] > x[maxpos] ? i: maxpos;
  return maxpos;

}

void print_array(int x[], int lim)
{
  int i;

  for (i = 0; i < lim; i++)
    printf("%d ", x[i]);

}