以下递归函数 factorial(n) 的功能是计算阶乘。请问当 n=0 时,函数应该返回什么值才能保证递归正确结束?
def factorial(n): if n == 0: return ? else: return n * factorial(n-1)
A. 0
B. 1
C. n
D. None