初学者で申し訳ないです。
関数の再帰に関して、コード内の命令が実行される順序について質問します。
- コード
#include <stdio.h> void wand(int n) { printf("in %d\n", n); if (n > 1) wand(n - 1); printf("out %d\n", n); } int main(void) { wand(3); getchar(); return 0; }
- 実行結果
in 3 in 2 in 1 out 1 out 2 out 3
in の出力が終わった後にout が1,2,3と連続して出力されたのはなぜでしょうか。
上から下へプログラムが実行されるとすれば、in 1 の次は out 1 で止まると思っていたのですが…。
- 環境
Visual Studio Community 2017
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。