考虑以下带有两个参数的递归C函数
unsigned int foo(unsigned int n, unsigned int r) {
if (n > 0) return (n%r + foo (n/r, r ));
else return 0;
}
当函数foo被称为foo(345,10)时,它的返回值是多少?
(A) 345
(B) 12
(C) 5
(D) 3答案: (B)
说明:调用foo(345,10)返回数字n中的十进制数字总和(因为r为10)。 345的数字总和是3 + 4 + 5 = 12。
该解决方案由Pranjul Ahuja提供
这个问题的测验