/*
  Versão preliminar de p19
 */ 

#include <stdio.h>
#include <stdlib.h>

#define NMAX 10

int *leia_ints(int *N);
void *mallocc(size_t nbytes);
  
int main()
{
  int N, i;
  int *v = leia_ints(&N);

  for (i = N - 1; i >= 0; i--)
    printf("%d ", v[i]);

  printf("\n");

  free(v);
  return 0;
}

int *leia_ints(int *N)
{
  int *v;
  int i = 0;

  v = mallocc(NMAX * sizeof(int));

  while (i < NMAX && scanf("%d", &v[i]) > 0) 
    i++;

  *N = i;
  return v;
}

void *mallocc(size_t nbytes)
{
  void *ptr;
  ptr = malloc (nbytes);
  if (ptr == NULL) {
    printf ("Socorro! malloc devolveu NULL!\n");
    exit(EXIT_FAILURE); /* EXIT_FAILURE: definido pelo sistema */
  }
  return ptr;
}
