fork download
  1. #include <stdio.h>
  2.  
  3. void func(int n) {
  4. if (n == 0) {
  5. printf("n が 0 なので再帰を停止\n");
  6. return;
  7. }
  8. printf("n の値:%d,再帰呼び出し前の処理\n", n);
  9. func(n - 1);
  10. printf("n の値:%d,再帰呼び出し間の処理\n", n);
  11. func(n - 1);
  12. printf("n の値:%d,再帰呼び出し後の処理\n", n);
  13. return;
  14. }
  15.  
  16. int main(void) {
  17. int n;
  18.  
  19. scanf("%d", &n);
  20. func(n);
  21. return 0;
  22. }
Success #stdin #stdout 0s 5284KB
stdin
2
stdout
n の値:2,再帰呼び出し前の処理
n の値:1,再帰呼び出し前の処理
n が 0 なので再帰を停止
n の値:1,再帰呼び出し間の処理
n が 0 なので再帰を停止
n の値:1,再帰呼び出し後の処理
n の値:2,再帰呼び出し間の処理
n の値:1,再帰呼び出し前の処理
n が 0 なので再帰を停止
n の値:1,再帰呼び出し間の処理
n が 0 なので再帰を停止
n の値:1,再帰呼び出し後の処理
n の値:2,再帰呼び出し後の処理