考虑以下C程序:
void foo(int n, int sum)
{
int k = 0, j = 0;
if (n == 0) return;
k = n % 10;
j = n / 10;
sum = sum + k;
foo (j, sum);
printf ("%d,", k);
}
int main ()
{
int a = 2048, sum = 0;
foo (a, sum);
printf ("%d\n", sum);
getchar();
}
上面的程序打印什么?
(A) 8,4,0,2,14
(B) 8,4,0,2,0
(C) 2,0,4,8,14
(D) 2,0,4,8,0答案: (D)
说明:请参阅https://www.geeksforgeeks.org/c-language-set-3/的问题5
这个问题的测验