C语言题 以下程序的结果是多少?要详细的过程

来源:百度知道 编辑:UC知道 时间:2024/09/24 05:32:40
#include <stdiio.h>
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;
}
原题就是这样的 要有过程哦 我希望可以按照我的过程来解释!!!!!!

#include <stdio.h>//对应你的程序这里错多了个i
sub(int*,int,int);//函数声明
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.k=1 a=1
//1.k=2时,a=1+2;
//2.k=4 a=1+2+4;

不知为不知
知之为知之!