所以我有以下递归函数:
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 [longest]指向其自己的位置
最佳答案
该函数在return
之后不printf
任何值。这导致 undefined 的行为。