(填空题) 读下列程序,写出程序的输出结果。
#include <stdio.h>
void sub (int *a, int n, int k)
{ if (k<=n) sub(a,n/2,2*k);
*a+=k;
}
void main ()
{ int x=0;
sub (&x,8,1);
printf (“x=%d\n”,x);
} 输出结果为:
x=7
x=7
sub(0 8 1)->sub(0 4 2)->sub(0 2 4)
此时k>n
a=a+4=4
a+=2=6
a+=1=7
输出x=7