main() { int x=0; sub(&x,8,1); printf("%d\n",x); } sub(int *a,int n,int k) { if(k<=n)submain(){ 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

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/03 05:58:20
main() { int x=0; sub(&x,8,1); printf(
xQKPǿ A/= .!M"E¢^cA )}{u>+tmLꭗ^Ovw2,#W8Pp]Ghn[ )mz]RC+cuyy> ނVʬJDM1w(.aCˆFwZj'뗐,,y{#Tko5m 0lIK-BljyhL B:wۦ4xNWɃ.G;<M)s,DZA;)YxMipƼ9t

main() { int x=0; sub(&x,8,1); printf("%d\n",x); } sub(int *a,int n,int k) { if(k<=n)submain(){ 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
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("%d\n",x); } sub(int *a,int n,int k) { if(k<=n)submain(){ 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=x+k=0+4=4这个结果吗?
这是一个递归
你先顺着函数顺序走下去,
第一环*a即x=0,n=8,k=1
k