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