fork download
  1. #include <stdio.h>
  2.  
  3. void sum(int kosuu, int data[], int *sum) {
  4. int counter = 0;
  5. int total = 0;
  6.  
  7. // counter が kosuu(要素数)に達するまで繰り返す
  8. while (counter < kosuu) {
  9. total = total + data[0]; // 現在指している要素を加算
  10. data = data + 1; // ポインタを次へ進める
  11. counter = counter + 1; // カウンタを +1
  12. }
  13.  
  14. *sum = total; // 結果を変数へ書き込み
  15. return;
  16. }
  17.  
  18. int main(void) {
  19. /* 配列1: 要素数 5 */
  20. int array1[] = {10, 15, 8, 30, 7};
  21. int ans1;
  22.  
  23. /* 配列2: 要素数 6 */
  24. int array2[] = {10, 20, 30, 40, 50, 60};
  25. int ans2;
  26.  
  27. /* サブルーチン呼び出し (要素数をそのまま渡す) */
  28. sum(5, array1, &ans1);
  29. sum(6, array2, &ans2);
  30.  
  31. /* 結果確認 */
  32. printf("配列1の合計 ANS1: %d\n", ans1); // 70 (#0046)
  33. printf("配列2の合計 ANS2: %d\n", ans2); // 210 (#00D2)
  34.  
  35. return 0;
  36. }
  37.  
  38.  
  39.  
Success #stdin #stdout 0.01s 5316KB
stdin
Standard input is empty
stdout
配列1の合計 ANS1: 70
配列2の合計 ANS2: 210