回答編集履歴

2

別案提示

2018/05/25 15:57

投稿

HogeAnimalLover
HogeAnimalLover

スコア4830

test CHANGED
@@ -20,6 +20,24 @@
20
20
 
21
21
  }
22
22
 
23
+ //または↓の形もあり
24
+
25
+
26
+
27
+ void dumpElement(int ar[], int length)
28
+
29
+ {
30
+
31
+ if(0 < length){
32
+
33
+ printf("%d\n", ar[0]);
34
+
35
+ dumpElement(&ar[1], length - 1);
36
+
37
+ }
38
+
39
+ }
40
+
23
41
  ```
24
42
 
25
43
 

1

追記

2018/05/25 15:56

投稿

HogeAnimalLover
HogeAnimalLover

スコア4830

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