fork download
  1. #include <stdio.h>
  2.  
  3. #define ROW 3
  4. #define COL 4
  5.  
  6. int a[ROW][COL] = {
  7. {1, 2, 3, 4},
  8. {5, 6, 7, 8},
  9. {9, 10, 11, 12}
  10. };
  11.  
  12. int sum[ROW];
  13.  
  14. void calculate(int (*a_ptr)[4]) {
  15. for (int i = 0; i < ROW; i++) {
  16. int row_sum = 0;
  17.  
  18.  
  19. for (int j = 0; j < COL; j++) {
  20. row_sum += a_ptr[i][j];
  21. }
  22.  
  23. sum[i] = row_sum;
  24. }
  25. }
  26.  
  27. int main(void) {
  28. calculate(a);
  29.  
  30.  
  31. printf("--- 2次元配列 a の各行の合計 ---\n");
  32. for (int i = 0; i < ROW; i++) {
  33. printf("a[%d]行目の合計 (sum[%d]) = %d\n", i, i, sum[i]);
  34. }
  35.  
  36. return 0;
  37. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
--- 2次元配列 a の各行の合計 ---
a[0]行目の合計 (sum[0]) = 10
a[1]行目の合計 (sum[1]) = 26
a[2]行目の合計 (sum[2]) = 42