正确答案是:D: 函数内部包含对本函数的再次调用。
分析:
递归函数是一种在其定义中直接或间接调用自身的函数。递归的核心思想是通过将问题分解为更小的子问题来解决问题,直到达到一个基准条件(或称为终止条件),此时递归停止。
A: 函数名称作为返回值 - 这不是递归函数的特征。递归函数的关键在于调用自身,而不是将函数名称作为返回值。
B: 包含一个循环结构 - 递归函数不一定包含循环结构。递归和循环是两种不同的实现重复任务的方法。递归通过函数调用自身来实现,而循环通过控制结构(如for或while)来实现。
C: 函数比较复杂 - 递归函数的复杂性取决于具体实现和问题本身。递归函数可以很简单,也可以很复杂,这不是递归的定义特征。
D: 函数内部包含对本函数的再次调用 - 这是递归函数的本质特征。递归函数通过调用自身来实现递归过程,直到满足某个终止条件。