long fun(int n)
{long s;
if(n==1||n==2)
s=2;
else
s=n-fun(n-1);
return s;}
main()
{printf("%ld\n",fun(3));}
结果是多少,怎么得的????
1,
3-2=1
去看看递进算法,就是函数调用自身,是3它不等于零和二,执行else 3-fun(3-1) 也就等于fun(2)
fun(2)调用自身,条件等于if语言执行,所以s=2 层次返回,就等于3-2=1.
[此贴子已经被作者于2004-09-06 19:43:24编辑过]