首页 > 用户发贴区 > 编程问题提问区 > 请高明者讲解
2007
06-19

main()


{int x=0;


sub(&x,8,1);


printf(“%d\n”,x);


}


sub(int *a,int n,int k)


{if(k<=n)   sub(a,n/2,2*k);


*a+=k;


}


请高明者讲解》有 1 条评论

  1. 5iluo 说:

    sub(int *a,int n,int k)
    {
     if(k<=n)  
     sub(a,n/2,2*k);
     *a+=k;
    }

    递归: if(k<=n) 
    (0,8,1);
    (0,4,2);
    (0,2,4);//if(k<=n) 不成立

    1+2+4 = 7

留下一个回复