有以下程序
#include <stdio.h>
void fun ( int n ,int *s )
{
int f;
if( n==1 ) *s = n+1 ;
else
{ fun( n-1, &f); *s = f;}
}
main()
{
int x =0;
fun( 4,&x );
printf("%d\n",x);
}
我看不懂fun(n-1,&f)这一行代码什么意思 我知道这是个递归
你知道这个是递归。所以你也应该知道递归的运算方式,他是从尾运算到头,这里就是,n-1,他是让n得值一直递减,到1,然后反过来运算,把运算的值放在指针f中,然后将f得值赋给s