如何处理C中的递归和数组?

时间:2011-02-11 13:26:27

标签: c arrays recursion

所以我有以下递归函数:

int printSeq(int last[], int n, int arr[], int longest){

     if(last[longest]==longest) return arr[longest];
     printf("%d ", printSeq(last, n, arr, last[longest]));
}

last是一个数组,其中的位置指向数组。最长的是当前位置。

然而,当我运行它时,我得到了不在数组中的奇怪值。我错过了什么吗?

基本情况是最后[最长]指向其自己的位置

1 个答案:

答案 0 :(得分:10)

该函数在return后没有printf任何值。这会导致未定义的行为。