考虑以下带有两个参数的递归 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) 时,它的返回值是多少?
(一) 345
(乙) 12
(三) 5
(四) 3答案:(乙)
说明:调用 foo(345, 10) 返回数字 n 中十进制数字的总和(因为 r 是 10)。 345 的数字总和是 3 + 4 + 5 = 12。
此解决方案由Pranjul Ahuja 提供
这个问题的测验