arrfun2.cpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. // arrfun2.cpp -- functions with an array argument
  2. #include <iostream>
  3. const int ArSize = 8;
  4. int sum_arr(int arr[], int n);
  5. // use std:: instead of using directive
  6. int main()
  7. {
  8. int cookies[ArSize] = {1,2,4,8,16,32,64,128};
  9. // some systems require preceding int with static to
  10. // enable array initialization
  11. std::cout << cookies << " = array address, ";
  12. // some systems require a type cast: unsigned (cookies)
  13. std::cout << sizeof cookies << " = sizeof cookies\n";
  14. int sum = sum_arr(cookies, ArSize);
  15. std::cout << "Total cookies eaten: " << sum << std::endl;
  16. sum = sum_arr(cookies, 3); // a lie
  17. std::cout << "First three eaters ate " << sum << " cookies.\n";
  18. sum = sum_arr(cookies + 4, 4); // another lie
  19. std::cout << "Last four eaters ate " << sum << " cookies.\n";
  20. // std::cin.get();
  21. return 0;
  22. }
  23. // return the sum of an integer array
  24. int sum_arr(int arr[], int n)
  25. {
  26. int total = 0;
  27. std::cout << arr << " = arr, ";
  28. // some systems require a type cast: unsigned (arr)
  29. std::cout << sizeof arr << " = sizeof arr\n";
  30. for (int i = 0; i < n; i++)
  31. total = total + arr[i];
  32. return total;
  33. }