fork download
  1. #include <stdio.h>
  2. #include <string.h> /* memset */
  3. #include <stdlib.h> /* moalloc, calloc*/
  4. #include <string.h> /* memset */
  5. #include <assert.h> /* assert */
  6.  
  7. int *promptUser(unsigned size)
  8. {
  9. unsigned i;
  10.  
  11. int *myArray = calloc(size, sizeof(int));
  12.  
  13. /* is myArray is successfully allocated */
  14. assert(myArray != NULL);
  15.  
  16. /* prompt user to fill an array */
  17. for (i = 0; i < size; ++i)
  18. {
  19. printf("Enter a number: ");
  20. scanf("%d", &myArray[i]);
  21. }
  22.  
  23. return myArray;
  24. }
  25.  
  26. display(int *p)
  27. {
  28. unsigned i;
  29.  
  30. for (i = 0; i < sizeof(p) / p[0] + 1; ++i)
  31. {
  32. printf("%d\n", p[i]);
  33. }
  34. }
  35.  
  36. int main(void)
  37. {
  38. int *p;
  39. int size;
  40.  
  41. /* prompt for size */
  42. printf("Enter the size: ");
  43. scanf("%d", &size);
  44.  
  45. /* make sure the size only positive number */
  46. while (size <= 0 )
  47. {
  48. printf("Enter the size: ");
  49. scanf("%d", &size);
  50. }
  51.  
  52. p = promptUser(size);
  53.  
  54. display(p);
  55.  
  56. /* clean the memory */
  57. free(p);
  58.  
  59. return 0;
  60. }
  61.  
Success #stdin #stdout 0s 2188KB
stdin
5
1
2 
3 
4 
5
stdout
Enter the size: Enter a number: Enter a number: Enter a number: Enter a number: Enter a number: 1
2
3
4
5