1,一个经典的例子,理解递归过程的展开
#include<stdio.h> void func(int i){ if(i>0) func(i/2); printf("%d",i) } int main(){ func(10); return 0; }
输出结果是:
0
1
2
5
10
不是预想的0。
分析:递归展开的过程如下:
void fun(int i)
{
if (i>0)
{
//fun(i/2);
if(i/2>0)
{
if(i/4>0)
{
…
}
printf("%d\n",i/4);
}
printf("%d\n",i/2);
}
printf("%d\n",i);
}
时间: 2024-10-14 00:56:07