#include <stdio.h>
long fun5(int n)
{
long s;
if((n==1)||(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);
}
main( )
{
long x;
x=fun5(4);
printf("%ld",x);
}
这段代码的执行过程
主函数main调用fun5(4)
进入fun5(4) n==4,s=4+fun5(3)
进入fun5(3) n==3,s=3+fun5(2)
进入fun5(2) n==2,s==2,打印2,2--------s
返回 fun5(3) n==3,s=3+fun5(2)=3+2=5,打印3,5--------s
返回 fun5(4) n==4,s=4+fun5(3)=4+5=9,打印4,9--------s
返回main函数,打印9
完整的C语言程序如下
#include <stdio.h>
long fun5(int n){
long s;
if((n==1)||(n==2))
s=2;
else
s=n+fun5(n-1);
printf("%d\n",n);
printf("%d--------s\n",s);
return(s);
}
main(){
long x;
x=fun5(4);
printf("%ld",x);
}