fork download
  1. #include <stdio.h>
  2.  
  3. // 行ごとの合計を計算して表示する関数
  4. void calculate(int a[3][4])
  5. {
  6. int i, j;
  7. int sum;
  8.  
  9. for (i = 0; i < 3; i++) { // 行を 0,1,2 と回す
  10.  
  11. sum = 0; // その行の合計を 0 からスタート
  12.  
  13. for (j = 0; j < 4; j++) { // 列を 0〜3 まで回す
  14. sum = sum + a[i][j]; // 1つずつ足していく
  15. }
  16.  
  17. printf("行%dの合計 = %d\n", i, sum);
  18. }
  19. }
  20.  
  21. int main(void)
  22. {
  23. // 3行4列の表(配列)a を作って数字を入れる
  24. int a[3][4] = {
  25. {1, 2, 3, 4},
  26. {5, 6, 7, 8},
  27. {9, 10, 11, 12}
  28. };
  29.  
  30. // ★ ポインタ p を用意して、a をいったん入れる
  31. int (*p)[4]; // 「4つ並んだ int の行」を指すポインタ
  32. p = a; // p に a の先頭(行0)を入れる
  33.  
  34. // ★ 配列 a ではなく、ポインタ p を渡す書き方
  35. calculate(p);
  36.  
  37. return 0;
  38. }
  39.  
Success #stdin #stdout 0.01s 5324KB
stdin
Standard input is empty
stdout
行0の合計 = 10
行1の合計 = 26
行2の合計 = 42