Как использовать функцию scanf (C)?
Не советую scanf использовать, не очень это хорошая функция. Лучше преобразовать чем-нибудь вроде strtol, проверить допустимость диапазона и если все ОК, внести новый элемент.
Сам массив "резиновым" создать не получится: нужно сначала выделить память подо все элементы. Если нужен действительно "резиновый" массив, то следует завести что-нибудь вроде связанных списков.
Ну и как говорил  Армянское Радио, читать поэлементно.
Т.е. что-то вродеint main(int argc, char **argv){
   int i, L = argc - 1;
   if(!L) return -1;
   int arr = malloc(L*sizeof(int)); // в C11 можно и так: arr[L], но если L будет большим, получится "упс"
   if(!arr) return -2;
   for(i = 0; i < L; i++)
     arr[i] = check_and_get(argv[i+1]); // а в этой функции производится преобразование строки в число и проверка
   ...
   return 0;
}
Вы неправильно применяете функцию. Читать массив нужно в цикле, поэлементно.