gan*_*lf3 4 c recursion return return-value
运行这样的递归函数(在gcc 7.3.1中编译):
#include <stdio.h>
int arr[] = {5,1,2,6,7,3};
int arraySize = 6;
int recfind(int value, int index)
{
    if (arr[index] == value)
        return 1;
    if (index >= arraySize)
        return 0;
    // return recfind(value, ++index);
    recfind(value, ++index);
 }
int main() {
    printf("found 6? %d\n", recfind(6, 0));
    printf("found 9? %d\n", recfind(9, 0));
}
我得到以下输出:
found 6? 1
found 9? 0
为什么这样做?由于recfind未返回递归调用的结果,所以如何选择更高级别调用的返回值?
| 归档时间: | 
 | 
| 查看次数: | 82 次 | 
| 最近记录: |