Practice Exercise #1

Part A

Write a C program that tests whether or not the following data types are passed by reference or by value, and prints what it discovers out to the terminal:

  • int
  • array of ints
Hypothetically, if your program discovers that an int is passed by value and an array of ints is passed by value, then it should produce output like:
int: pass-by-value
array of ints: pass-by-value

Part B

Write a program that:

  • defines an array of 10 ints
  • assigns factorial(x) to array element x, for x in the range 0 through 9, inclusive
  • copies those array elements into a second array of 10 ints, but in reverse order (i.e., element 0 is factorial(9), element 1 is factorial(8), and so on)
  • prints out that second array to the terminal