1
程序是關於函數的遞歸,需要知道如何控制對整個程序C語言遞歸控制
void count(int n)
{
static int d=1;
printf("%d",n);
printf("%d",d);
d++;
if(n>1)
count(n-1);
printf("%d",d);
}
void main()
{
count(3);
}
我的預期輸出是
3122134
原始輸出
312213444
任何人都可以請解釋這些額外的兩個4如何添加到輸出?
請解釋一下關於這個程序的流程控制。
檢查計數(1)後打印計數(2)和計數(3) – mvs
後函數是否返回使用調試程序並逐行執行代碼,並進入遞歸調用。 –
@mvs當n等於3,2 ,, 1時,函數會調用它自己,並且對於每個調用它在最後一條語句中輸出d。所以你在輸出的尾部得到444。 –