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