[問題] 有關遞迴
#include<stdio.h>
#include <iostream.h>
int print(int x)
{
printf("(1)%d\t ", x);
x && print(x-1);
x && printf("(2)%d\t ", x);
}
int main()
{
print(3);
system("pause");
return 0;
}
執行結果為:
(1)3 (1)2 (1)1 (1)0 (2)1 (2)2 (2)3
問題:
想請問這個遞迴函式
為什麼在x=0之前印的出編號(1)的message
為什麼x=0之後只能印出編號(2)的message
且還會遞增到3
======================================
最近這幾天想破頭還是不太懂這函式為什麼會這樣跑
煩請版友賜教
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.105.8
推
04/07 22:38, , 1F
04/07 22:38, 1F
→
04/07 22:42, , 2F
04/07 22:42, 2F
推
04/07 22:48, , 3F
04/07 22:48, 3F
推
04/07 22:50, , 4F
04/07 22:50, 4F
→
04/07 22:50, , 5F
04/07 22:50, 5F
→
04/07 22:56, , 6F
04/07 22:56, 6F
推
04/07 23:11, , 7F
04/07 23:11, 7F
→
04/07 23:13, , 8F
04/07 23:13, 8F
→
04/07 23:14, , 9F
04/07 23:14, 9F