作业帮 > 综合 > 作业

main() { int x=0; sub(&x,8,1); printf("%d\n",x); } sub(int *

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/19 21:03:12
main() { int x=0; sub(&x,8,1); printf("%d\n",x); } sub(int *a,int n,int k) { if(k<=n)sub
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;
}
怎麼会有x=x+k=0+4=4,
main() { int x=0; sub(&x,8,1); printf(
你是问为什么会有x=x+k=0+4=4这个结果吗?
这是一个递归
你先顺着函数顺序走下去,
第一环*a即x=0,n=8,k=1
k