質問するログイン新規登録

回答編集履歴

2

別案提示

2018/05/25 15:57

投稿

HogeAnimalLover
HogeAnimalLover

スコア4853

answer CHANGED
@@ -9,6 +9,15 @@
9
9
  dumpElement(&ar[1]);
10
10
  }
11
11
  }
12
+ //または↓の形もあり
13
+
14
+ void dumpElement(int ar[], int length)
15
+ {
16
+ if(0 < length){
17
+ printf("%d\n", ar[0]);
18
+ dumpElement(&ar[1], length - 1);
19
+ }
20
+ }
12
21
  ```
13
22
 
14
23
  以下追記、

1

追記

2018/05/25 15:56

投稿

HogeAnimalLover
HogeAnimalLover

スコア4853

answer CHANGED
@@ -9,4 +9,7 @@
9
9
  dumpElement(&ar[1]);
10
10
  }
11
11
  }
12
- ```
12
+ ```
13
+
14
+ 以下追記、
15
+ **皆さんの回答を見ていると「変数使用しないなんて無理」**という意見がありますけれど、変数を使用しない言語も実在します(純粋関数型言語)。もちろん、各定義時に初期値のセットだけは必要ですけれど、値の更新を行わない(定数として扱う)プログラム技法というのも実際にあります。例えばHaskellでは本例のように、再帰を使うことで(C言語でいうところの変数の値の更新を)実現するという手があります。当然ながら、プログラミングに強い制約を課すことにはなりますが、これはこれで一つのやり方と呼べます。