回答編集履歴
1
補足を質問文の文言に対する回答として追記した。
test
CHANGED
@@ -29,3 +29,11 @@
|
|
29
29
|
printf("\n"); // 改行を入れる
|
30
30
|
|
31
31
|
```
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
> '0'が引数として渡される回のprintAlphabet関数では、return文が実行され、呼び出し元に戻り、 その呼び出し元では、引数は、'z'になっているはずだと認識していたのですが、 実際には、'0'になっています。
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
再帰呼び出しを「printAlphabet(++alphabet)」の形で呼び出しており、'z'の回の再帰呼び出しでは「++alphabet」の段階でポインタ位置は'\0'に移動するため、その後の改行判定のif条件は成立して改行が出力されます。
|