gpt4 book ai didi

c - 为什么这个递归函数返回正确的值?

转载 作者:太空狗 更新时间:2023-10-29 15:28:19 25 4
gpt4 key购买 nike

<分区>

运行这样的递归函数(在 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的结果,那么上层调用的返回值如何选择?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com